Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Системное программное обеспечение. Учебник
.pdf
151
Глава 5. Особенности организации различных операционных систем
ОС Advanced Server является 32-разрядной операционной системой, но в отличие от LAN Server, NT Advanced Server может
работать и на платформах MIPS R4000 фирмы Intel или Alpha
фирмы DEC. Предусмотрена работа системы Advanced Server
в симметричном мультипроцессорном (с несколькими центральными процессорами) компьютерами. Дополнительные вычислительные мощности на файловом сервере могут быть использованы для приложений типа «клиент – сервер».
В системе Advanced Server предоставляется защита данных уровня С2. Это означает, что сетевая ОС имеет защищенную процедуру присоединения к ЛВС, защиту памяти, учет и
контроль доступа (владелец разделяемых ресурсов имеет возможность определить, кто в данный момент пользуется этими
ресурсами). Уровня защиты С2 или выше требуют некоторые
промышленные или военные ЛВС. Что касается надежности,
то система Advanced Server использует файловую систему, основанную на транзакциях и позволяющую отменить целую серию связанных модификаций файлов, если эта серия не была
завершена успешно. Она также имеет средства поддержки
RAID (Redundant Array of Inexpensive Disks – Избыточный
массив недорогих накопителей) пятого уровня, возможность
распознавания сигналов от источника бесперебойного питания и программное обеспечение для сохранения данных
на магнитной ленте.
Система Advanced Server использует протокол SMB на базе
NetBIOS для обмена информацией о перенаправлении файлов.
Кроме того, система Advanced Server совместима с системами
LAN Manager, LAN Server, Windows for Workgroups и даже
со старой PC LAN Program. Кроме этого, в системе Advanced
Server имеются средства поддержки протоколов транспортного уровня, таких как TCP/IP и IPX/SPX фирмы Novell.
Сетевая операционная система Lantastic. ОС LANtastic
обладает рядом характеристик, позволяющих ей прекрасно
функционировать, несмотря на то, что она является не самой
быстродействующей из сетевых ОС для одноранговых ЛВС. ОС
LANtastic имеет прекрасные возможности разделения принтера. С дополнительными аппаратными средствами, поставляемыми фирмой Artisoft, возможна даже организация зву-

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
152
ковой электронной почты в ЛВС. ОС LANtastic требует очень
небольшого объема памяти. Фирма Artisoft предлагает сетевые адаптеры Ethernet, которые работают особенно хорошо
с ОС LANtastic. Имеется возможность включения компьютеров Macintosh в ЛВС, управляемую ОС LANtastic. Эта система
прекрасно совместима и с Windows.
5.5. Семейство UNIX
Считается, что в появлении UNIX в частности виновата…
компьютерная игра. Кен Томпсон создал игрушку Space Travel
в 1969 году на компьютере Honeywell 635, который использовался для разработки Multics. Но дело в том, что ни вышеупомянутый Honeywell, ни имевшийся в лаборатории General
Electric 645 не подходили для игрушки. И Кену пришлось найти другую ЭВМ – 18-разрядный компьютер РDР-7. Он разрабатывал новую файловую систему, дабы облегчить себе жизнь
и работу, а затем решил опробовать свое изобретение на новенькой машине. Но Томпсону этого показалось мало, и он начал ее усовершенствовать, включив подсистему управления
процессами и памятью, обеспечивающую использование системы двумя пользователями в режиме разделения времени, простой командный интерпретатор и несколько утилит. В память
о трудностях при разработке Multics новую систему решили
назвать похожим именем – UNICS. Через некоторое время название сократили до UNIX. ОС была написана на ассемблере
[13, 15].
В ноябре 1971 года был опубликован первый выпуск полноценного описания новой системы. Это событие известно в
мире как «Первая редакция UNIX». В соответствии с этим и
ОС была названа «Первой редакцией UNIX». Вторая редакция
вышла довольно быстро – меньше чем через год. Третья редакция ничем особенным не отличалась, но заставила Дениса
Ритчи написать собственный язык, известный сейчас как С.
И именно на нем была написана четвертая редакция UNIX
в 1973 году. В июле 1974 года вышла пятая версия UNIX. Шестая редакция UNIX, выпущенная в 1975 году, стала первым
коммерчески распространяемым вариантом. Большая ее часть
была написана на С. Позже была полностью переписана под-

153
Глава 5. Особенности организации различных операционных систем
система управления оперативной и виртуальной памятью, заодно изменили интерфейс драйверов внешних устройств. Все
это позволило сделать систему легко переносимой на другие
архитектуры, и она была названа «Седьмая редакция» (UNIX
version 7). Параллельно с улучшением UNIX шла разработка
системы, известной нам как FгееBSD.
Управление процессами в ОС UNIX осуществляется следующим образом. Прежде всего следует сказать, что с точки
зрения ОС UNIX процесс – это объект, зарегистрированный
в специальной таблице процессов. Структура этой таблицы
следующая: она позиционна (как практически и все таблицы
в UNIX), то есть номер записи в таблице есть идентификатор
процесса PID. Формируются процессы с 0 до N-1, где N – предельное число процессов, которые система может одновременно обрабатывать. Это параметр настройки ОС.
В строке-записи таблицы находится ссылка на контекст
процесса, там же находится ссылка на тело процесса. Телом
процесса будем называть набор команд и данных, которыми
оперирует процесс.
Контекст процесса – атрибут, который присутствует практически во всех ОС, в разных ОС он может называться по-разному.
Контексты всех процессов размещаются в адресном пространстве ОС и содержат оперативную информацию о состоянии процесса и текущую информацию, связанную с процессом и его запуском.
Контекст процесса содержит:
• номера пользователя и группы;
• указатель на индексный дескриптор текущего каталога;
• специфические условия работы процесса.
В ОС UNIX каждый процесс может послать другому процессу некоторое воздействие, которое называют сигналом. Если
процесс-отправитель передает сигнал процессу-получателю, то
при выполнении передачи в последнем возникает событие, связанное с сигналом. Это событие очень похоже на прерывание,
возникающее в аппаратуре вычислительной системы. В ОС
имеется набор сигналов, которые могут передавать друг другу процессы. Отправитель может подать некоторым образом
команду ОС, что он передает сигнал с заданным номером про-

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
154
цессу-получателю. Процесс-получатель может прореагировать
на сигнал тремя способами:
1) прекращением выполнения, причиной которого являет-
ся пришедший сигнал;
2) игнорированием сигнала (здесь следует отметить, что
игнорировать можно далеко не все сигналы);
3) вызовом предопределенной процессом функции, которая
может выполнить какие-то действия; возврат из этой функции
осуществляется в точку прихода сигнала.
Таким образом, система имеет фиксированный набор событий, которые могут возникать. Каждое событие имеет свое
уникальное имя, и эти имена обычно едины для всех версий
UNIX. Такие имена и называются сигналами.
Перечень сигналов находится в include-файле signal.h.
Есть такие сигналы, которые присутствуют практически
во всех UNIX. Но есть также сигналы, специфичные лишь для
конкретной версии UNIX (FreeBSD, SCO UNIX, Linux и т.д.).
Например, в версии BSD есть сигнал приостановки работы
процесса, реакцией на который является замораживание процесса, а есть сигнал, который размораживает процесс. Это сигнал FreeBSD-версии.
В принципе, вся информация, которая отражает оперативное состояние ОС, а также программы ОС, которые управляют
этой информацией и наиболее важными устройствами, составляют ядро ОС.
Ядро ОС – программа, функцией которой является управление базовыми объектами системы (для UNIX это два объекта –
файл и процесс). Ядро в своем теле размещает необходимые
таблицы данных. Ядро считается некоторой неразделяемой
частью ОС. Оно обычно работает в режиме супервизора, все
остальные функции ОС могут работать и в других режимах.
Можно однозначно сказать о том, что процессы и механизмы управления процессами в операционной системе – это
одна из принципиальных особенностей операционной системы
UNIX. Фирма Microsoft повторяет те программные интерфейсы, которые используются для взаимодействия управления
процессами разработчиками UNIX, а не наоборот. И в этом
смысле первенство операционной системы UNIX очевидно.

155
Глава 5. Особенности организации различных операционных систем
Одним из достижений ОС UNIX является грамотное и эффективное разделение средств управления виртуальной памятью
на аппаратно-независимую и аппаратно-зависимую части [16].
Основная идея состоит в том, что ОС UNIX опирается на некоторое собственное представление организации виртуальной
памяти, которое используется в аппаратно-независимой части
подсистемы управления виртуальной памятью и связывается
с конкретной аппаратной реализацией с помощью аппаратнозависимой части. В чем же состоит это абстрактное представление виртуальной памяти?
Виртуальная память каждого процесса представляется
в виде набора сегментов, причем виртуальная память процесса ОС UNIX разбивается на сегменты пяти разных типов. Три
типа сегментов обязательны для виртуальной памяти каждого
процесса, и сегменты этих типов присутствуют в виртуальной
памяти в одном экземпляре. Сегмент программного кода содержит только команды. Реально в него помещается соответствующий сегмент выполняемого файла, который указывался
в качестве параметра системного вызова exec для данного процесса. Сегмент программного кода не может модифицироваться в ходе выполнения процесса, и потому возможно использование одного экземпляра кода для разных процессов [16].
Процесс в UNIX – это нечто, что зарегистрировано в таблице
процессов. Соответственно каждая запись в таблице процессов
имеет номер. Номера идут от нуля до некоторого предельного
значения, которое предопределено при установке системы. Номер в таблице процессов – это так называемый идентификатор
процесса, который в системе обозначается PID. Соответственно
подавляющее большинство действий, которые можно выполнить с процессом, выполняются при помощи указания идентификатора процесса. Каждый процесс характеризуется контекстом процесса. Это блок данных, характеризующий состояние
процесса, в том числе указывающий информацию об открытых
файлах, о правилах обработки событий, возникающих в процессе [16]. В этом наборе данных хранится информация, которая
образуется при переключении системы с процесса на процесс.
То есть когда происходит по той или иной причине переключение выполнения с одного процесса на другой, для того чтобы

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
156
можно было восстановить работу процесса, некий набор данных
размещается в контексте процесса. Этот набор данных включает содержимое регистровой памяти, некоторые режимы, которые установила программа и в которые вмешался процессор
(например, содержимое регистра результата), точку возврата из
прерывания.
Мы говорили о том, что в некотором смысле определено
понятие тела процесса. Тело процесса состоит из двух сегментов: сегмента текста и сегмента данных. Сегмент текста – это
часть данных процесса, которые включают код исполняемой
программы. Сегмент данных – это те пространства оперативной памяти, которые могут статически содержать данные. Мы
говорили, что в системе есть возможность иметь разделенные
сегменты текста и сегменты данных. В свою очередь, система
позволяет с одним сегментом текста связывать произвольную
группу сегментов данных. Это, в частности, бывает полезно,
когда в системе одновременно работают несколько одинаковых процессов [16].
Принципиально важная вещь, связанная с организацией
управления процессами, – это механизм fork/exec. При обращении к функции fork происходит создание нового процесса,
который является копией текущего процесса. Незначительные отличия этих процессов есть в идентификаторе процессов.
Возможны некоторые отличия в содержимом контекста процесса.
Linux – это многозадачная и многопользовательская операционная система, которая предназначена для образования, бизнеса, индивидуального программирования. Linux принадлежит
к семейству UNIX-подобных операционных систем [17].
Linux изначально был написан Линусом Торвальдсом, а затем улучшался бесчисленным количеством программистов во
всем мире. Он является клоном операционной системы UNIX,
одной из первых мощных операционных систем, разрабатываемых для компьютеров, но не бесплатной. Но ни Unix System
Laboratories, создатели UNIX, ни Университет Беркли, разработчики Berkeley Software Distribution (BSD), не участвовали
в его создании. Один из наиболее интересных фактов из истории Linux – это то, что в его создании принимали участие од-

157
Глава 5. Особенности организации различных операционных систем
новременно люди со всех концов света – от Австралии до Финляндии – и продолжают это делать до сих пор.
Linux поддерживает большую часть популярного программного обеспечения UNIX, включая графическую систему
X Window, а это огромное количество программ. Необходимо
также подчеркнуть, что Linux поставляется бесплатно. Максимум, за что приходится платить, так это за упаковку и CD,
на которых записан дистрибутив Linux. Дистрибутив – это
сама ОС и набор пакетов программ для Linux. Стоит также
упомянуть, что все это поставляется с исходными текстами,
и любую программу, написанную под Linux, можно переделать под себя. Это же позволяет перенести любую программу
на любую платформу – Intel PC, Macintosh. Кстати, все вышеописанное получилось благодаря Free Software Foundation,
фонду бесплатных программ, который является частью проекта GNU. И именно для этих целей была создана GPL – General
Public License, исходя из которой Linux бесплатен, как и весь
софт под него, причем коммерческое использование программного обеспечения для Linux или его частей запрещено.
Кроме всего прочего, Linux – очень мощная и стабильная ОС.
Использование его в Сети оправдывает себя, да и взломать его
не так уж и легко [17, 18].
Принципиальное отличие Linux от Windows в смысле работы с учетными записями пользователей заключается в том,
что в Linux у каждого файла имеется атрибут владения. То есть
каждый файл принадлежит какому-либо конкретному пользователю, зарегистрированному в системе, и одной группе пользователей: скажем, пользователю vasya группы students. В то же
время управлением системой занимаются программы, принадлежащие в основном суперпользователю, – root и его же группе, root. Таким образом, если даже пользователь vasya загрузит
себе в домашнюю директорию гипотетический вредоносный код
и попытается его исполнить, исполняться такой код будет именно с привилегиями пользователя vasya. И потому он не сможет
повредить или заменить файлы, принадлежащие root, то есть
нанести ущерб функциональности системы в целом [17, 18].
Это, конечно, упрощенное объяснение, но в целом оно верно отражает картину. Конечно, увидев, что запущенное им прило-

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
158
жение выдает сообщения о невозможности что-то там сделать,
vasya может (если компьютер принадлежит ему) переключиться
в режим root и исполнить код как суперпользователь.
Поскольку ОС UNIX стремится обеспечить среду, в которой пользовательские программы могли бы быть полностью
мобильны, потребовался дополнительный уровень, скрывающий особенности конкретного механизма возбуждения внутренних прерываний. Этот механизм обеспечивается так называемой библиотекой системных вызовов.
Для пользователя библиотека системных вызовов представляет собой обычную библиотеку заранее реализованных функций системы программирования языка С. При программировании на языке С использование любой функции из библиотеки
системных вызовов ничем не отличается от использования любой собственной или библиотечной С-функции. Однако внутри
любой функции конкретной библиотеки системных вызовов
содержится код, являющийся, вообще говоря, специфичным
для данной аппаратной платформы [4, 18].
5.6. MAC OS
Впервые операционная система с таким названием появилась в 1984 году в связи с появлением первого компьютера
Macintosh. Сейчас трудно поверить, что ОС, приведшая к «компьютерной революции», занимала всего 216 килобайт на флоппи-диске (жесткий диск в те времена был непозволительной
роскошью) и отлично работала на компьютере со 128 килобайт
ОЗУ. Уже тогда, будучи почти ровесником DOS, Mac OS мало
чем отличалась от современных графических ОС и оболочек –
заложенные в ней решения на десятилетие вперед определили
ход мыслей создателей пользовательских интерфейсов. Главное,
что отличает Mac OS по сегодняшний день – дружественность и
удобство пользования. Система удивительно эргономична, для
выполнения той или иной работы требуется минимум действий,
причем все они логичны и понятны. Системная информация
отображается точно и четко, шрифты легко читаются.
Знаменита Mac OS и своей файловой системой. Прежде всего тем, что она умеет распознавать тип файла, его версию, программу-создателя и много что еще безо всяких расширений.

159
Глава 5. Особенности организации различных операционных систем
С самого своего рождения Mac OS поддерживает длинные имена
файлов, поэтому среди пользователей Macintosh принято давать
документам нормальные имена. Система предоставляет массу
способов отображения информации – больше, чем какая-либо
другая ОС. Некоторые ее возможности, например «подпружиненные папки», позволяющие в одно касание перенести нужный файл в любое место диска, вообще уникальны в компьютерном мире. Реализована работа с «псевдонимами» (в Windows
это называется «ярлык») – ссылками на файлы. Они исключительно стойкие, поэтому можно перемещать основной файл без
риска нарушить связь с псевдонимом. Можно даже создавать
псевдонимы файлов и папок, размещенных на удаленных серверах. При двойном нажатии на такой псевдоним Mac OS сама
установит связь и откроет требуемый ресурс.
Mac OS 9 значительно продвинулась вперед в области обеспечения безопасности и интеграции в среду Интернет. Начать
можно с появления многопользовательского режима, который обеспечивает удобство и безопасность в тех случаях, когда с одним компьютером работает несколько пользователей.
Каждому можно назначить разные права, разрешить или запретить работу с определенными приложениями, документами, папками, чтение дисков, печать и т.д. Дополнительным
преимуществом стало появление системы централизованного
хранения паролей – так называемой связки ключей. Кроме
того, в девятой версии появились встроенные средства шифрования отдельных папок и файлов. Самая же экзотическая
новинка – возможность использовать в качестве пароля собственный голос. Девятая версия системы обеспечивает обмен
файлами в глобальной сети так же просто, как и в локальной.
Mac OS стала родоначальницей нового поколения операционных систем Apple, самым радикальным обновлением со времен появления первой Mac OS.

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
160
ЗАКЛЮЧЕНИЕ
О роли информации
В условиях стремительно развивающегося технологизированного пространства окружающий мир все более противоречит
естественной природе человека. Но возникают новые возможности сближения людей при развитии технологических процессов,
связанных с преобразованием и передачей информации. В свою
очередь, благодаря этому появляются связи между разными дисциплинами, образуя основу для развития новой операционной
среды искусственного интеллекта. Это непосредственно касается
перспектив развития системного программного обеспечения.
Рассматривая историю как процесс, происходящий во времени, можно сказать, что каждый исследователь, являясь личностью, проживающей здесь и сейчас, всегда отражает те процессы, которые происходят в обществе, через ретроспективу своего
восприятия и понимания истории. Поэтому, говоря о развитии
информационного общества, невозможно обойти стороной процессы, оказывающие непосредственное влияние на его формирование, более того, имеющие решающее значение в настоящее
время. Именно в этой ситуации, при конвергенции цифрового
и физического миров, важно сохранить «человеческое в человеке», потому что противостоит этому возникающий, пока едва
предсказуемый, мир искусственного интеллекта. На первый
план выходит вопрос: будет ли наша цивилизация холодной
электронной или в ней будет преобладать теплота человеческих
идеалов и чувств? Будут ли реальны самые мрачные предсказания о преобладании машинного интеллекта над человеческим
разумом в развитии информационного общества? Ответы можно
найти у разных ученых, можно найти их и у В.И. Вернадского,
когда он говорит о влиянии на жизнь каждой личности, утверждая, что «она своей волей становится одним из создателей» закона сознательного изменения процессов текущей жизни. Необходима уверенность в том, что влияние человека всегда будет
определяющим, что будут лидировать позитивные тенденции
в процессе жизни, формируя Живой коллективный разум и преобразуя ноосферу в Сверхсознание человечества [19].
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
