Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

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

ожный. Простой - потому что  мы
скажем о нем буквально несколько фраз,  а  сложный,  потому  что  существуют
проблемы, о которых можно говорить долго.
      Персонификация - это возможность операционной системы идентифицировать
конкретного пользователя и в соответствии  с  этим  принимать  те  или  иные
действия, в частности, по защите данных.
      Если мы с вами посмотрим на любимую нами операционную систему  MS-DOS,
то там не было понятия пользователя со  всеми  вытекающими  последствиями  -
она однопользовательская.
      Второй уровень операционных систем - это операционные системы, которые
позволяют регистрировать пользователей, но все  пользователи  представляются
в виде единого набора некоторых субъектов и не связаны друг с другом  никак.
Примером таких операционных  систем  могут  служить  некоторые  операционные
системы фирмы IBM для mainframe-компьютеров. Например, лектор не знает,  кто
из его слушателей к какой группе  относится,  но  все,  сидящие  перед  ним,
пользователи его курса. Это и хорошо, и плохо. С точки зрения  прослушивания
курса лекций - это хорошо, но для проведения этим лектором какого-то  опроса
это плохо, потому что за один день он не  успеет  опросить  всех.  Ему  надо
будет всех слушателей как-то поделить, а как - не известно.
      Соответственно, при такой одномерной персонификации обеспечиваются все
те функции, о которых мы с вами говорили  (в  частности  защита),  но  такая
организация пользователей не предполагает образования  групп  пользователей.
А мне  удобно,  чтобы,  предположим,  на  нашем  факультетском  сервере  моя
лаборатория была выделена, и  в  рамках  этой  лаборатории  можно  было   бы
предоставлять друг другу права доступа к файлам и т.д.
      Соответственно, аналогично файловой системе, появляется  иерархическая
организация пользователей. То есть у нас имеется понятие «все  пользователи»
и понятие «группа  пользователей».  В  группе  есть  реальные  пользователи.
Такая иерархическая организация персонификации  влечет  за  собой  следующие
моменты.  При  регистрации   какого-то   пользователя   необходимо   сначала
привязать его к какой-то группе - это может быть  лаборатория,  кафедра  или
учебная группа. Так как пользователи  объединены  в  группы,  то  появляется
возможность разделения  прав  доступа  к  ресурсам  пользователей.  То  есть
пользователь может, например, заявить, что  все  его  ресурсы  доступны  для
всех пользователей группы. Такая схема  может  быть  многоуровневой  (группы
делятся на  подгруппы  и  т.д.)  с  соответственным  распределением  прав  и
возможностей.  Сейчас  появляются  операционные  системы,  в  которых  права
доступа могут определяться не только такой  иерархической структурой,  но  и
могут быть более сложными, т. е. права доступа можно добавлять, нарушая  эту
иерархию.
                                  Лекция №7

                        3. Операционная система UNIX.
      Мы переходим к изучению операционной системы  UNIX,  поскольку  многие
решения,   которые   принимаются   в   операционных   системах,   мы   будем
рассматривать на примере этой операционной системы.
      В середине 60-х годов  в  Bell  Laboratories  фирмы  AT&T  проводились
исследования и разработка одной из первых операционных систем в  современном
ее  понимании  -  операционной  системы  Multix.  Эта  операционная  система
обладала    свойствами    операционной    системы    разделения     времени,
многопользовательской системы,  а  также  в  этой  системе  были  предложены
основные  решения  по  организации  файловых  систем,  в   частности,   была
предложена иерархическая древообразная файловая система. От этой  разработки
через некоторое время получила начало операционная  система  UNIX.  Одна  из
историй разработки этой системы говорит о том, что  на  фирме  был  ненужный
компьютер PDP-7 с очень малоразвитым программным обеспечением и  требовалась
машина, которая позволяла бы организовывать комфортную работу  пользователя,
в частности, обработку текстовой информации. Известная группа  людей  -  это
Кен  Томпсон  и  Деннис  Ритчи,  занялись  разработкой  новой   операционной
системы. Другой вариант этой истории гласит о том, что якобы они  занимались
реализацией  некоторой  игры  и  те  средства,  которые  были  им  доступны,
оказались неудобны - тогда они решили поиграть с этой машиной. В  результате
появилась операционная система UNIX.
      Особенностью этой системы  являлось то, что она была первой  системной
программой, которая была  написана  с  использованием  языка,  отличного  от
машинного  языка  (ассемблера).  Для  целей   написания   этого   системного
программного обеспечения, в  частности,  операционной  системы  UNIX,  также
проводились работы, которые начинались от языка BCPL. Из него был  образован
язык B, который оперировал с машинными словами.  Далее  абстракция  машинных
слов - BN, и наконец язык Си. С 1983  года  операционная  система  UNIX  (ее
первоначальная версия) была переписана на язык Си, и получилось,  что  около
90%  операционной  системы  было  написано  на  языке  высокого  уровня,  не
зависящем от архитектуры  машины,  а  10%  этой  системы  были  написаны  на
ассемблере. В эти десять  процентов  вошли  наиболее  критичные  по  времени
части операционной системы.
      Итак, первым важным и  революционным  результатом  было  использование
языка высокого уровня. Этот факт вызывал обсуждения,  потому  что  никто  не
верил, что это может быть  долговременно,  поскольку  всегда  язык  высокого
уровня   ассоциировался   с   большой   неэффективностью.   Язык   Си    был
сконструирован  таким  образом,  что  позволял,  с  одной  стороны,   писать
достаточно эффективные программы, с  другой  стороны,  транслировать  его  в
эффективный код.
      Первое свойство языка Си, которое повышало его  эффективность,  -  это
работа  с  указателями.  Второе  свойство  заключается  в   том,   что   при
программировании  на  ассемблере  мы   часто  используем  побочные  эффекты.
Например, эффект, когда результатом вычисления какого-то выражения  является
не  только  записанной  значение,  но  и  какие-то  промежуточные  значения,
которые можно по  ходу  записать  для  последующего  их  использования.  Эти
возможности стали доступны и в языке Си,  потому  что  понятие  выражения  в
языке Си гораздо шире, чем в тех языках, которые  имелись  в  наличии  в  то
время.  В  частности,  появилась  операция  присваивания,  вместо  оператора
присваивания,  которая  позволила  программировать  побочные  эффекты.   Эти
свойства и определили «живучесть» языка,  пригодность  для  программирования
системных компонентов и возможность оптимальной  трансляции  кода  различных
машин.
      С профессиональной (канонической) точки  зрения,  язык  Си  -  ужасный
язык.    Основным    требованием,    которое    предъявляется    к    языкам
программирования,  является   обеспечение   безопасности   программирования.
Средства  языка  должны  минимизировать  вероятность   внесения   ошибок   в
программу,  и  заведомо  к  таким  средствам  современных  языков  относится
следующее:  жесткий  контроль  типов   (т.е.   нельзя,   например,   сложить
целочисленную переменную с вещественной,  не  преобразовав  перед  этим  тип
одной из них к типу другой). Язык Си  обладает  возможностью  преобразования
типов по умолчанию. Другая криминальная вещь - это обеспечение  контроля  за
доступом  к  памяти  программы  (т.е.  если   в   ячейке   памяти   хранится
вещественное число, то мы не можем  его  проинтерпретировать  никак  иначе).
Возможность  бесконтрольного  использования  этих   значений   предоставляют
указатели.  Более  того,  через  указатель  можно  «обманывать»  функции   в
соответствии и несоответствии фактических параметров  формальным  параметрам
и т.д. Третье свойство - это  контроль  за  взаимодействием  модулей.  Много
ошибок появляется в том случае, если в функции  продекларирован  один  набор
формальных параметров, а  обращение  к  ней  происходит  по  другому  набору
(причем отличия могут быть как по количеству параметров, так и по типам).  В
языке Си всегда можно обмануть  программу  -  вместо  формального  параметра
одного типа дать параметр другого типа, и вместо десяти параметров  передать
один. Это приводит к ошибкам.
      Вот три позиции, по  которым  язык  Си  не  удовлетворяет  требованиям
безопасности. Однако опыт  показывает,  что  наиболее  живучими  оказываются
плохие (с этой точки зрения) языки.
      Итак, 1973 год - год появления написанной  на  языке  Си  операционной
системы UNIX. Какими  основными  свойствами  обладала  эта  система?  Первое
свойство -  это  концепция  файлов.  Основным  объектом,  которым  оперирует
операционная система, является  файл.  Файл,  с  точки  зрения  операционной
системы UNIX,  -  это  внешнее  устройство.  Файл  -  это  каталог,  который
содержит  информацию  о  содержащихся  в  нем  файлах.  И  так   далее,   на
сегодняшний день, файлом может считаться,  в  некотором  смысле  и  процесс,
который может работать.
      Второе свойство - это особая структура операционной системы. В отличие
от предыдущих операционных систем, в которых каждая  команда  была  «зашита»
внутрь операционной системы, т.е. ее нельзя было как  -либо  модифицировать,
в  UNIX-е  проблемы  команд  решены   очень   элегантно.   Во-первых,   UNIX
декларирует  стандартный  интерфейс   передачи   параметров   извне   внутрь
процесса. Во-вторых, все команды реализованы в виде  файлов.  Это  означает,
что можно свободно добавлять новые команды в  систему,  а  также  убирать  и
модифицировать их. То есть система UNIX открыта и ее можно легко развивать.
      Начнем рассмотрение конкретных свойств операционной системы.

           Файловая система. Организация файлов. Работа с файлами.
      Файловая система  UNIX-а  -  это  многопользовательск
12345След.
скачать работу

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

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ