Реферат: Сравнение операционных систем DOS, UNIX, OS/2, WINDOWS (Write)

ВВЕДЕНИЕ

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

          На сегодняшний день на рынке програмного обеспечения дляIBM PC-совместимых компьютеров сосуществуют несколько семейств операционныхсистем. Однозадачные однопользовательские ОС MS-DOS и PC-DOS являются самымираспространенными ввиду своей простоты и ’неприхотливости’, большую роль здесьиграет и то, что подавляющее большинство программ работает именно под ихуправлением. MS-DOS и PC-DOS характеризуются минимальным пользовательским ипрограмным интерфейсами, в тоже время, работая со всевозможными програмнымиоболочками, интегрированными средами (такими как Microsoft Windows или DESQview),создают комфортабельную среду для пользователя и программы.

          ОС Microsoft Windows NT, ориентированая на работу вразнородных сетях, высоконадежна, однако, это достигнуто за счет частичнойпотери совместимости с MS-DOS.

          Операционная система OS/2 стоит особняком: будучиполноправной многозадачной операционной системой со своим оригинальнымграфическим пользовательским и програмным интерфейсами, она сохраняетсовместимость с MS-DOS и PC-DOS (начиная с версии WARP 3.0 и с MicrosoftWindows).

          ОС UNIX — одна из старейших и наиболее простых операционныхсистем, изначально была расчитана на разработку программ (для нее самой и нетолько) на мини-ЭВМ и позволяла без больших затрат труда программистапереносить программу из одной системы ЭВМ на другую. Неудивительно, что сейчаспродается много различных вариантов мобильной операционной системы UNIX, такихкак XENIX, UNIXWARE, SUN-OS, LINUX, BSD.

          Рассмотрим програмные интерфейсы Microsoft Windows, ОS/2 иUNIX (согласно стандарту POSIX) для персональных ЭВМ, совместимых с IBM PC.

ОБЩИЕСВЕДЕНИЯ

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

УПРАВЛЕНИЕПАМЯТЬЮ

<span Arial",«sans-serif»">

<span Arial",«sans-serif»">       

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

          Операционная система OS/2 использует страничную модельпамяти, то есть программа получает память порциями по 4 кб; подкачка такжеосуществляется порциями по 4 кб. Программа не может управлять процессомподкачки.

          Важной особенностью OS/2 является возможность созданияспециальных разделяемых областей памяти, которые могут использоваться длямежпроцессного взаимодействия ( см. гл. межпроцессное взаимодействие ).

          Microsoft Windows использует сегментированную модельпамять. Исторически сложилось так, что ОС (а, точнее, програмная оболочка)Microsoft Windows до разработки процессора 80386 работала в реальном режиме(’real mode’) и защищенном режиме 80286-го процессора (’standart mode’). Вреальном режиме механизм подкачки не использовался; при наличии 286-гопроцессора ОС позволяла выгружать на диск только MS-DOS-освские программы. Споявлением процессора 80386 и использованием его защищенного режима,возможности использования виртуальной памяти резко расширились: появиласьвозможность выгрузить на диск любой сегмент памяти компьютера. С помощьюсистемных вызовов, программа пользователя может управлять многими нюансамираспределения памяти: разрешением на выгрузку страницы, сборкой мусора,перемещением обьектов в памяти.

ФАЙЛОВАЯСИСТЕМА

          Все системы поддерживают следующие элементы иерархическихфайловых систем: обычные файлы, каталоги, специальные байт-ориентированные  и блок-ориентированные файлы. Файл являетсямассивом байтов (блоков фиксированной длины). Каталоги обеспечивают связь междуименами файлов и собственно файлами. Каждый элемент каталога содержит имя файлаи ссылку на конкретный файл. Для именования файлов используются корневой итекущий каталоги. Имя файла состоит из последовательности компонентов — локальных имен, разделенных символами '' (В операционной системе UNIX — '/').

          ОС UNIX характеризуется единственной однородной файловойсистемой на один или несколько компьютеров. В Microsoft Windows и OS/2 файловыесистемы ассоциируются с носителями (посредством логических имен — буквлатинского алфавита).

          Операционная система OS/2, кроме того, поддерживает своюфайловую систему — HPFS (High Performance File System — высокопроизводительнаяфайловая система), характеризующаяся хранением имен файлов и каталогов в видеB-дерева.

          Внешние устройства ( такие как терминал, принтер) так жечасто представляются как файлы для упрощения работы с ними.

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

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

УПРАВЛЕНИЕПРОЦЕССАМИ

          Единцей управления и потребления ресурсов в многозадачнойсистеме является процесс. В частности, ввод-вывод выполняется синхронно, ипроцесс приостанавливается до его завершения. Если требуется продолжитьвыполнение процесса параллельно с инициированным им  вводом-выводом, нужно предварительно породитьдругой процесс для реализации ввода-вывода. Microsoft Windows, OS/2 и UNIXпредоставляют сходные системные вызовы для обслуживания и управления процессами('сессия' в OS/2): порождение, уничтожение.

          OS/2 предоставляет гораздо более широкий спектр системныхвызовов для управления процессами. В OS/2 существуют три вида процессов: нити(цепи или треды), 'настоящие' процессы и экранные группы. Экранные группы — наиболее независимый тип процессов. Каждая экранная группа имеет свою собственную виртуальную консоль,адресное пространство, открытые файлы, очереди и каналы (см. ниже). Внутриэкранной группы могут находится один или более 'настоящих' процессов, у каждогоиз которых могут быть свои открытые файлы и свое адресное пространство. Нити — самый простой класс процессов, они имеют только свое собственное адресноепространство, а все остальные ресурсы наследуют от породившего их 'настоящего'процесса.

          В операционной системе OS/2 планировщик задач можетвыделять 'настоящим' процессам кванты времени по двум алгоритмам: динамическогои абсолютного приоритетов. Алгоритм динамического приороитета выражается:система подсчитывает интенсивность операций ввода-вывода, использованияпроцессорного времени, и по ним определяет количество квантов времени,предоставляемых процессу. При использовании абсолютных приоритетов ОСраспределяет кванты времени согласно числовым значениям, заданным при стартепроцесса. Процесс может изменять свой приоритет в небольших пределах с помощьюсистемной функции.

          В Microsoft Windows планировщика задач распределяет квантыпроцессорного времени аналогично алгоритму абсолютных приоритетов воперационной системе OS/2. Программа никак не может повлиять на количествопредоставляемого ей процессорного времени.

          В операционной системе UNIX алгоритм работы планировщиказадач зависит от реализации.

МЕЖПРОЦЕССНОЕВЗАИМОДЕЙСТВИЕ

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

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

          Операционная система OS/2 предоставляет три типамежпроцессного взаимодействия: каналы, очереди и семафоры.

          Канал представлет собой кольцевой буфер с двумя указателями- начала и конца; используется для перенаправления ввода-вывода и стандартныхфайлов между процессами. Только два процесса могут читать или писать в канал — сервер и клиент.

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

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

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

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

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

          Реакция на именованный семафор зависит от процессов,совместно использующих его.

          В операционных системах OS/2 и Microsoft Windows существуетспециальный механизм для взаимодействия процессов в реальном масштабе времени. Этотмеханизм называется DDE (Dynamic Data Exchange — динамический обмен данными).Он стандартизирует процесс обмена командами, сообщениями и объектами дляобработки между задачами. Наиболее распространенные действия, для которыхиспользуются DDE — печать.

          Другим интерфейсом для обмена данными является OLE (ObjectLinking and Embedding — объектное связывание со встраиванием). Этот интерфейспозволяет хранить объекты, созданные одной программой, в объектах, созданныхдругой программой, а также редактировать (печатать) их без нарушенияцелостности информации и связей.

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

          Операционная система UNIX не предоставляет этогоспособаобмена инфорацией, Microsoft Windows же позволяет  задачам обмениватся информацией таким образомдаже в DOS-сессиях.

ГРАФИЧЕСКИЙИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ

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

          Оболочка Microsoft Windows не была изаначально операционнойсистемой, да и сейчас не может считаться в полноценной операционной системой,так как она существует ’поверх’ операционной системы типа MS-DOS. Она возниклав виде стандартизатора графического интерфейса и прижилась исключительнопотому, что пользователь хотел видеть программу, с которой ему часто приходитсяработать красивой, практичной, удобной и легкой в освоении и использовании.

          Для ОС UNIX также был создан специальный графическийинтерфейс — X-Windows; промышленный гигант — фирма IBM выпустила вместе соперационной системой OS/2 свой вариант графического интерфейса пользователя(GUI — Graphics User Interface) — Presentation Manager.

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

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

          Операционная система (оболочка), ориентированная награфический интерфейс пользователя, предоставляет не только функции,поддерживающие ввод-вывод, но и широкий спектр системных вызовов, позволяющихиспользовать различные графические примитивы: от самых простых ( точки, линии,дуги) до самых сложных ( области, окна, курсоры ). Основным преимуществомиспользования графического интерфейса операционной системы является то, что спомощью него программа может создавать графические изоражения, которые будутвыглядеть одинаково на всех устройствах, поддерживаемых операционной системой (принцип What We See Is What We Get — что видим, то и получаем ).

          Большое внимание в графическом интерфейсе операционнойсистемы обычно уделяется шрифтам. Исторически сложилось так, что первыми идолгое время единственными шрифтами для компьютеров оставались растровые(точечно-матричные) шрифты. Такие шрифты занимали малый объем памяти, однако,их невозможно было вращать, наклонять, меньшать, без искажений, а увеличиватьможно было только в целое число раз. С появлением графического интерфейса,операционные системы стали предоставлять системные вызовы для поддержкииспользования векторных шрифтов, которые не только легко масштабируются, меняютнаклон и толщину, но и выглядят одинаково на всех устройствах, поддерживаемыхоперационной системой. Каждая операционная система поддерживает свой стандартвекторных шрифтов (TrueType для Microsoft Windows; Adobe Type Manager для OS/2;GhostScript для LINUX).

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕПРОГРАММИРОВАНИЕ И ОПЕРАЦИОННЫЕ СИСТЕМЫ

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

          Наиболее развитый объектно-ориентированный программныйинтерфейс имеет операционная система OS/2. Все графические и программныепримитивы представляются в ней в виде объектов (память, дисплей, принтер,папка, звуковая карта, дисковод — все это — объекты).Однако,объектно-ориентированный подход неэффективно использует ресурсы памяти, поэтомуиспользование операционной системы OS/2 на компьютерах с 4 мб памяти (на одномиз таких писался данный реферат) затруднительно.

ВЫВОДЫ

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

<span Times New Roman",«serif»;mso-fareast-font-family: Batang;mso-ansi-language:RU;mso-fareast-language:KO;mso-bidi-language:AR-SA">

ВВЕДЕНИЕ

<span Vanta Thin",«sans-serif»;mso-bidi-font-family: «Vanta Thin»">

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Операционнаяситема UNIX изначально была написана для ЭВМ DEC PDP-7 в <st1:metricconverter ProductID=«1969 г» w:st=«on»>1969 г</st1:metricconverter>., в <st1:metricconverter ProductID=«1970 г» w:st=«on»>1970 г</st1:metricconverter>. была переписана смашинно-зависимого языка ассемблера (на котором тогда писались все операционныесистемы) на язык высокого уровня — Си и перенесена на более мощную машину — PDP-11/20. В <st1:metricconverter ProductID=«1974 г» w:st=«on»>1974 г</st1:metricconverter>.UNIX была передана университетам ”для образовательных целей”, а несколько летспустя нашла коммерческое применение.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          UNIXстала первой операционной системой, написанной на языке высокого уровня, чтосильно облегчало ее перенос на другие ЭВМ, aдаптацию в соответствии сконкретными требованиями пользователя. Главной отличительной чертой этойсистемы является ее модульность и обширный набор системных утилит, простота ихсовместного использования, которые позволяют создать благоприятную операционнуюобстановку для пользователя-программиста.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Операционныесистемы семейства MS-DOS (PC-DOS, DR-DOS и др.) появились вместе с первымиперсональными компьютерами фирмы IBM в <st1:metricconverter ProductID=«1981 г» w:st=«on»>1981 г</st1:metricconverter>. Персональные компьтеры IBM PC тогдаимели неважные технические характеристики, были расчитаны наоднопользовательский однозадачный режим (в отличае от UNIX — систем, работавшихв многопользовательском многозадачном режиме). Обьем оперативной памятикомпьютера IBM PC образца <st1:metricconverter ProductID=«1981 г» w:st=«on»>1981 г</st1:metricconverter>. был 64 Kб., что предопределяло небольшой размероперационной системы и относительную бедность ее ситемных функций, и хотя вболее поздних версиях набор средств был значительно расширен (версия 3.3, окоторой и будет идти речь, включает в себя средства для работы в сети и защитуфайлов), MS-DOS так и не ”доросла” до UNIX. С самого начала и компьютер, иоперационная система были ориентированы на не очень квалифицированногопользователя, работающего с небольшим количеством программ узкогопрофессионального назначения.

ЖИЗНЕННЫЙ ЦИКЛ ПРОЦЕССА (ПРОГРАММЫ)

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">

          <span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">Единицей управления и потребления ресурсов всистеме служит процесс (в MS-DOS — программа). Процесс — последовательное (илипсевдо-параллельное) вычисление. В частности, ввод/вывод обычно выполняетсясинхронно, и процесс приостанавливается до его завершения. Если требуетсяпродолжить выполнение процесса параллельно с инициированным им вводом/выводом,в UNIX нeoбходимо предварительно породить другой процесс для реализацииввода/вывода; в MS-DOS можно воспользоваться механизмом прерываний. Каждыйпроцесс работает в своем адресном пространстве.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Вопеационной системе UNIX процесс может быть создан единственным способом — системным вызовом порождения процесса fork, при этом процесс получаетуникальный ненулевой целочисленный идентификатор, по которому система отличаетего от других. При порождении создается точная копия порожадающего процесса,после завершения функции fork оба процесса (порождающий и порожденный)продолжают выполнение с одинаковых точек. Процесс может узнать, является ли онотцом (породившимся процессом) или ребенком (порожденным) по значению,возвращаемому функцией fork.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Функциисемейства exec операционной системы UNIX позволяет передать управлениедругой программе, заменив текущий образ процесса образом новой программы, безсоздания нового процесса. При этом возврат к старому процессу невозможен.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          ВMS-DOS программа может быть загружена в память с немедленным запуском (запускначинается с первой инструкции) или  беззапуска (оверлей) на выполнение, при этом для каждой программы в начале еерабочей памяти создается специальная управляющая структура PSP — programsegment prefix, которая отвечает за передачу управления в и из  прогаммы, хранит информацию об открытыхфайлах, параметрах, переданных программе при вызове.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">         Вобеих операцоинных системах процесс (программа) наследует все файлы, открытыеего отцом, текущий каталог и управляющий терминал.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Процесс(программа) завершаются нормальным образом по своей инициативе (вызовомспециальной функции в UNIX, системным прерыванием в MS-DOS) и возвращают отцукод завершения, или аварийным образом — получив сигнал.

РАСПРЕДЕЛЕНИЕ ПАМЯТИ

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Распределениепамяти неразрывно связано с механизмом процессов (программ).

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          MS-DOSявляется однозадачной однопользовательской системой, и поэтому программегарантировано монопольное владение всеми ресурсами (в частнисти памятью);программа, работающая в среде MS-DOS, должна сама заботится о распределениипамяти. При запуске новой программы, запускающая программа должна освободитьстолко памяти, сколько необходимо для загрузки запускаемой программы,посредством вызова специальной системной функции.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Системныефункции UNIX обеспечивают выделение, изменение размера и освобождение участковпамяти.

СИГНАЛЬНЫЙ МЕХАНИЗМ

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Сигнальныймеханизм UNIX (в MS-DOS не документирован и не стандартизирован) позволяетпроцессам и операцоинной системе обмениваться информацией в реальном масштабевремени.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Сигналыразличаются своими номерами — целыми числами, начиная с 1 (сигнал 0 — зарезервирован). Среди них: аварийное завершение, арифметическая исключительнаяситуация, разрыв связи, недопустимая инструкция, нарушение защиты памяти,запись в програмный канал, не открытый для чтения, а также различные сигналызавершений. Кроме стандартных сигналов, процесс может определить собственные — 'пользовательские' сигналы.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Сигналгенерируется, когда происходит событие, вызывающее сигнал или вызываетсяспециальная системная функция, аргументами которой являются номер сигнала иидентификаторы процессов, которым необходимо послать данный сигнал. Одно и тоже событие может вызвать посылку сиганала нескольким процессам.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Накаждый сигнал, определенный в системе, процесс должен иметь реакцию — действие,которое он выполняет при получении сигнала. Когда вызывается определенная дляданного процесса и сигнала реакция, считается, что сигнал передан процессу,которому он был предназначен.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Сигналможет быть блокирован от передачи процесссу. Если реакция на сгенерированныйблокированный сигнал отлична от игнориривания, то сигнал остается непереданнымлибо до снятия с него блокировки, либо до установки на него реакцииигнорирования. Если на такой сигнал задана реакция игнорирования то отреализации зависит, будет ли такой сигнал немедленно удален или останетсянепереданным.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Каждыйпроцесс имеет сигнальную маску, определяющую множество сигналов, блокированныхот передачи процессу. Эта маска наследуется процессом при порождении и можетбыть изменена во время работы процесса.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Допустимытри вида реакции на сигнал: игнорировние, перехват и стандартная реакциясистемы, перехват и вызов функции внутри процесса. Перехват и игнорированиесигналов приостановки и уничтожения процесса невозможны.

МНОГОПОЛЬЗОВАТЕЛЬСКАЯ ЗАЩИТА(только ОС UNIX)

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Пользователи,которым разрешено входить в систему, перечислены в учетной базе пользователей.Пользователи обьединены в группы; последние перечисленны в в учетной базегрупп. Каждому пользователю и каждой группе присвоены целочисленныеидентификаторы.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Входяв систему, пользователь сообщает ей свое имя, по которому определется егоидентификатор и права доступа. Вызывая команды, пользователь тем самымпорождает процессы, которые наследуют его права, пользовательский и групповойидентификаторы.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Скаждым файлом связана пара идентификаторов: пользовательский и групповой. Файлнаследует эти идентификаторы от эффективных идентификаторов процесса,создавшего данный файл. Процесс, эффективный пользовательский идентификаторкоторого совпадает с пользовательским идентификатором файла, считаетсявладельцем данного файла.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Файлможно читать, писать и выполнять. Если файл является каталогом, выполнениеозначает поиск в нем. Права процессов при доступе к файлу хранятся в аттрибутахзащиты файла. Эти аттрибуты при соьздании файла, могут быть изменены толькоимея соответствующие права.      

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Проверкаправ происходит, когда процесс пытается открыть файл для чтения или записи,выполнить его.    

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Всепользователи, имеющие доступ в систему, разделены по отношению к файлу на трикатегории: владельцев (эффективный пользовательский идентификатор процессасовпадает с пользовательским идентификатором файла), членов группы (эффективныйгрупповой идентификатор процесса совпадает с групповым идентификатором файла) ипрочих.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Процессможет иметь зависящие от реализации привилегии, которые дают ему дополнительныеправа при доступе к файлу.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Еслипроцесс не имеет привилегий, то ему разрешается доступ к файлу в трех случаях:

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          — процесс является владельцем файла (см. выше) и аттрибуты защиты файла разрешаютзапрашиваемый вид действия владельцу;

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          — эффективный групповой идентификатор процесса совпадает с групповымидентификаторoм файла и аттрибуты файла разрешают запрашиваемый вид действиягруппе;

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          — аттрибуты файла разрешают запрашиваемый вид действия всем процессам.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Еслини одно из условий не выполняется, то процесс не получает доступ к файлу.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Системныевызовы операционной системы UNIX обеспечивают: получение информации опользователях и группах в учетной базе (при наличии соответствующих привилегий)и получение информации о защите конкретного файла.

ФАЙЛОВАЯ СИСТЕМА

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">         Заоснову фаийловой системы MS-DOS была взята фаиловая система UNIX, поэтому ониочень похожы.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Допускаютсяследующие типы файлов: обычные файлы, специальные байт-ориентированные иблок-ориентированные файлы, FIFO-файлы. Обычный файл — бесструктурный массив спрямым доступом. Каталог обеспечивает связь между именами файлов и собственнофайлами. Каждый элемент каталога содержит локальное имя файла и ссылку наконкретный файл. В UNIX различные элементы каталогов могут ссылаться на один итот же файл. Иерархия файлов образует древовидную структуру. Для именованияфайла используются корневой и текущий каталоги. Процесс (программа) можетсменить текущий каталог.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          FIFO- файл характеризуется тем, что данные из него могут быть прочитаны только втом порядке в каком они были записаны. Внешние устройства также считаютсяфайлами, и с ними можно работать посредством обычных файловых операций. С точкизрения программы обычные, байт — и блочно — ориентированные файлы одинаковы.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Обеоперационные ситемы обеспечивают смену и получение имени текущего каталога,создание, удаление, переименование и перемещение фаилов и каталогов, получениеинформации о файле или каталоге (размер, дату, время последней модификации;UNIX дополнительно обеспечивает информацию о разграничении доступа). UNIXобеспечивает создание и удаление связей файла (см. выше).

БАЗОВЫЙ ВВОД-ВЫВОД

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Базовыйуровень в обеих системах обеспечивает обмен с файлом, интерпретируемым какодномерный массив батов с прямым последовательным доступом.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Длякаждого файла система ведет указатель чтения /записи. При чтении (записи) n байтовуказатель продвигается вперед по файлу на n байтов и устанавливается впозицию очередного читаемого (записываемого) символа.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Вначале работы с файлом его создают или открывают. Файлы открытые даннойпрограммой, имеют внутреннюю (в пределах данного процесса) нумерацию, начиная с0. Системный вызов, открывающий файл, возвращает номер открытого файла, которыйиспользуется при чтении и записи. После того как файл открыт, к нему могут применятсяфункции чтения или записи. При чтении из файла последовательно читаютсяочередные байты и возвращается число прочитанных байтов. Оно может оказатьсяменьше требуемого числа, если до конца файла осталось меньше байтов, чемтребуется, или если устройство не передает такого числа байтов.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Призаписи в файл записываются очередные байты, расположенные в памяти процесса.Если возвращаемое после записи значение не равно числу записываемых байтов, этосвидетельствует об ошибке. Если очередной записываемый байт оказывается законцом файла, то обеспечивается соответствующее увеличение размера файла.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Прямойдоступ к файлу реализуется вызовом соответствующей функции, устанавливающейуказатель чтения/записи в требуемую позицию. Позиционирование возможно в тех файлах,где оно допускается типом файла или природой внешнего устройства.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Процессможет управлять открытым файлом, получая и задавая значения его аттрибутов, атакже блокируя участки файла от доступа к ним других процессов (в MS-DOSвозможна только блокировка файла целиком).

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Поокончании работы с файлом, его следует закрыть. При завершении программы, всеоткрытые файлы закрываются автоматически.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Особенностькаталога состоит в том, что запись в него может делать только система — программа может только читать элементы каталога. MS-DOS, в отличае от UNIX,позволяет искать в каталогах файлы по маске.

<span Times New Roman";mso-ansi-language:RU;mso-fareast-language: KO;mso-bidi-language:AR-SA">

СТАНДАРТНЫЙ БУФФЕРИЗИРОВАННЫЙВВОД/ВЫВОД

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Стандартныйбуферизированный ввод-вывод является надстройкой над базовым уровнем. Подобнобазовому уровню, он интерпретирует файл (поток, в терминах данного уровня), какодномерный массив байтов с прямым доступом.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Потокидают возможность обмениваться с файлом, буферизируя данные в памяти процесса.При чтении из потока происходит считывание блока данных из файла в буфер, а избуфера процессу передается столько байтов, сколько он запросил. Когда приочередном чтении из потока в буфере уже нет требуемых данных, происходиточередное считывание блока данных из файла в буфер. Аналогично при записи впоток передаваемые процессом данные накапливаются в буфере и передаются системедля записи в файл только после того, как буфер заполнится, при вызовеспециальной функции или при закрытии потока (кстати, при выключении компьтерасодержимое буферов операционной системы теряется).

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Когдапроцесс начинает работу, он получает открытыми в обеих системах 3 стандартныхпотока: стандартный ввод ('stdin' — в UNIX, 'CON' — канал 0в MS-DOS), стандартный вывод ('stdout' — в UNIX, 'CON' — канал 1в MS-DOS), стандартную диагностику ('stderr' — в UNIX, канал 2 вMS-DOS).MS-DOS предоставляет дополнительно еще 3 стандартных потока — каналсвязи ('AUX' — канал 3) и стандартное устройство печати ('PRN'- канал 4). Стандартный ввод используется как устройство чтения поумолчанию, стандартный вывод — как устройство записи по умолчанию, стандартнаядиагностика — для вывода сообщений об ошибках.

<span Vanta Thin",«sans-serif»; mso-bidi-font-family:«Vanta Thin»">          Вобеих операционных системах средства ввода-вывода буферизированного обменапозволяют передавать символы, символьные строк

еще рефераты
Еще работы по программному обеспечению