Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системное программное обеспечение. Учебник

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
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].
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]