И особенности архитектуры

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

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

 

· обращение к файлам, устройствам ввода-вывода и буферам межпроцессных сообщений выполняются с помощью одних и тех же примитивов;

· одни и те же механизмы именования, присвоения альтернативных имен и за­щиты от несанкционированного доступа применяются и к файлам с данными, и к каталогам, и к устройствам;

· одни и те же механизмы работают в отношении программно и аппаратно ини­циируемых прерываний.

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

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

В число системных и прикладных программ, поставляемых с UNIX -системами, входят редакторы текстов, программируемые интерпретаторы командного языка, компиляторы с нескольких популярных языков программирования, включая С, С++, ассемблер, PERL, FORTRAN и многие другие, компоновщики (редакторы межпрограммных связей), отладчики, многочисленные библиотеки системных и пользовательских программ, средства сортировки и ведения баз данных, много­численные административные и обслуживающие программы. Для абсолютного большинства всех этих программ имеется документация, в том числе исходные тексты программ (как правило, хорошо комментированные). Кроме того, описа­ния и документация по большей части доступны пользователям в интерактивном режиме. Используется иерархическая файловая система с полной защитой, рабо­та со съемными томами, обеспечивается независимость от устройств.

Центральной частью UNIX -систем является ядро (kernel). Оно состоит из боль­шого количества модулей и с точки зрения архитектуры считается монолитным. Однако в ядре всегда можно выделить три основные подсистемы: управления про­цессами, управления файлами, управления операциями ввода-вывода между цен­тральной частью и периферийными устройствами. Подсистема управления про­цессами организует выполнение и диспетчеризацию процессов, их синхронизацию и разнообразное межпроцессное взаимодействие. Важнейшая функция подсисте­мы управления процессами — это распределение оперативной памяти и (для со­временных систем) организация виртуальной памяти. Подсистема управления файлами тесно связана и с подсистемой управления процессами, и с драйверами. Ядро может быть перекомпилировано с учетом конкретного состава устройств компьютера и решаемых задач. Не все драйверы могут быть включены в состав ядра, часть из них может вызываться из ядра. Более того, очень большое количе­ство системных функций выполняется системными программными модулями, не входящими непосредственно в ядро, но вызываемых из ядра. Основные систем­ные функции, которые должно выполнять ядро совместно с остальными систем­ными модулями, строго стандартизированы. За счет этого во многом достигается переносимость кода между разными версиями UNIX и абсолютно различным ап­паратным обеспечением.

 








Дата добавления: 2015-04-03; просмотров: 976;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.