Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОС.doc
Скачиваний:
325
Добавлен:
10.06.2015
Размер:
978.94 Кб
Скачать

Тема 4.6. Возможности операционной системы

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

Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.

Операционные системы нужны, если:

  • вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;

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

  • между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;

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

  • оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды — оболочка и наборы утилит — они могут являться частью операционной системы.

Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:

  • использующие файловые системы (с универсальным механизмом доступа к данным),

  • многопользовательские (с разделением полномочий),

  • многозадачные (с разделением времени).

Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой операционной системе. В составе операционной системы различают три группы компонентов:

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

  • системные библиотеки;

  • оболочка с утилитами.

Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.

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

Ядро операционной системы

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

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

Описанная задача может различаться в зависимости от типа архитектуры ядра и способа её реализации.

Объекты ядра ОС:

  • Процессы

  • Файлы

  • События

  • Потоки

  • Семафоры

  • Мьютексы

  • Каналы

  • Файлы, проецируемые в память

Эволюция операционных систем и основные идеи

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

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

Пакетный режим

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

Разделение времени и многозадачность

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

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.

Разделение полномочий

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

Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).

Реальный масштаб времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.

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

Файловые системы и структуры

Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).

Файловая система — способ хранения данных на внешних запоминающих устройствах.

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

  1. Основная функция всех ОС - посредническая. Она заключается в обеспечении интерфейсов:

  • пользователя (между пользователем и программно-аппаратными средствами По реализации интерфейса пользователя ОС подразделяются на графические и неграфические. Неграфические используют интерфейс командной строки, основным устройством управления которого является клавиатура. Управляющие команды вводятся в поле командной строки. Графические ОС реализуют более сложный тип интерфейса. Работа в графическом интерфейсе основана на взаимодействии активных и пассивных экранных элементов управления. В качестве активного элемента выступает указатель мыши, а в качестве пассивных выступают графические элементы управления приложением: кнопки, значки, переключатели, флажки, меню и т.д.

  • между программным и аппаратным обеспечением

  • между разными видами программного обеспечения

  1. Обеспечение автоматического запуска

  • Все ОС обеспечивают свой автоматический запуск.Для дисковых ОС в специальной(системной) области диска создаётся запись программного кода. Обращение к этому коду происходит из BIOS. Завершая свою работу программы BIOS дают команду на загрузку и исполнение системной области диска. Диск с системной областью называется системным. На компьютере должен быть как минимум один системный диск.

  1. Оганизация файловой системы

  • Все дисковые ОС обеспечивают создание файловой системы, предназначенной для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы - табличный. Физический адрес на диске характеризуется тремя параметрами: № поверхности, № цилиндра и № сектора. Под цилиндром понимается совокупность всех дорожек, принадлежащих разным поверхностям и равноудалённых от оси вращения. Наименьшей единицей хранения данных является сектор, его размер 512 байт. Группы секторов объединяются в кластеры. Кластер является наименьшей единицей адресации при обращении к данным. Размер кластера зависит от ёмкости диска. ОС семейства MS DOS _ Windows используют файловую систему на основе таблиц размещения файлов(FAT - File Allocation Table). Начиная с Windows 98 ОС системы семейства Windows поддерживают FAT32 - с 32 разрядными полями в таблице размещения файлов. ОС Windows NT и Windows XP способны поддерживать совершенно другую файловую систему -NTFS. В ней служебная информация хранится в главной таблице файлов MFT. В этой системе размер кластеров не зависит от размера диска и для больших дисков она работает более эффективно, чем FAT32.

  1. Обслуживание файловой структуры. К функциям обслуживания относятся:

  • создание файлов Файл - именнованная последовательность байтов произвольной длины. Создание файла состоит в присвоении ему имени и регистрации его в файловой системе. Имена файлов могут быть короткими и длинными. В ОС MSDOS имена файлов состояли максимум из 8 символов. В современных ОС полное имя файла (путь к файлу/имя файла.расширение) может содержать до 260 символов. Использование длинных имён имеет свои особенности: - если в имени файла встречаются пробелы, их лучше заменить знаком _подчерка. - В длинных именах файлов можно использовать символы любых алфавитов, но если документ готовиться   для   передачи - лучше воспользоваться латинскими символами.   Расширение имени файла указывает пользователю, исполняющей программе и ОС к какому типу относятся данные, содержащиеся в файле и в каком формате они записаны. ОС регистрирует типы файлов по расширению, поэтому расширения не являются частным делом пользователя. Приложения этих систем при создании нового файла предлагают выбрать имя, расширения же предлагается выбрать из списка, предлагаемого данным приложением.

  • создание каталогов(директорий) Каталоги -важные элементы файловой структуры, необходимые для обеспечения удобного доступа к файлам. Каталоги низких уровней вкладываются в каталоги более высоких уровней, каталог самого верхнего уровня - корневой каталог диска. Имена каталогов задаются по тем же правилам, что и имена файлов, но в отличие от файлов, им не требуются расширения, т.к. в каталогах сохраняется информация для ОС зарегистрированных в данном каталоге файлах и каталогах. В графических системах каталоги называют также папками, каждому каталогу на диске соответствует папка в ОС.

  • навигация по файловой структуре  В иерархических структурах данных адрес объекта задаётся маршрутом(путём доступа), ведущим от вершины  структуры к объекту. При записи пути доступа к файлу, проходящего через систему вложенных каталогов, все  промежуточные каталоги разделяются символом "\"(обратный слэш) в ОС Windows.  С:\Мои документы\Текущие\Рефераты\Операционные_системы.doc

  • переименование файлов и каталогов

  • копирование и перемещение файлов и каталогов

  • управление атрибутами файлов Кроме имени и расширения файлов ОС хранит для каждого файла дату его создания(изменения) и несколько флаговых величин, называемых атрибутами файла. Всего атрибутов 4: -Только для чтения - Read only (можно только просматривать, нельзя вносить изменения) -Скрытый - Hidden (не отображается на экране при проведении файловых операций) -Системный - System (выполняет важные функции ОС, как правило, одновременно имеет атрибут скрытый) -Архивный - Archive (остальные)

  • Управление приложениями.

    • Работа с приложениями - наиболее важная часть работы ОС. С точки зрения управления приложениями различают однозадачные и многозадачные ОС. Однозадачные ОС передают все ресурсы компьютера одной задаче. Большинство современных ОС многозадачные. Они управляют распределением рессурсов между задачами и обеспечивают: -возможность одновременной или поочерёдной работы нескольких приложений; -возможность обмена данными между приложениями; -восможность совместного использования ресурсов несколькими приложениями.

  • Взаимодействие с аппаратным обеспечением.

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

  • Обслуживание компьютера

    • Обслуживание компьютера - одна из важных функций ОС. Средства проверки диска бывают двух типов - проверка целостности файловой структуры и проверка физической поверхности диска. Ошибки файловой структуры устраняются средствами ОС. Физические дефекты ОС локализует и исключает их из активной работы. Возможность ошибок файловой системы зависит от её типа. Например, схема организации работы в NTFS вообще исключает воз можность появления ошибок в файловой структуре. В системе FAT часто появляются ошибки типа "потерянных кластеров" или "общих кластеров".

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

    Кроме всего перечисленного, ОС включают минимальный набор прикладных программ для простейших практических задач:

      • чтение, редактирование и печать текстовых документов

      • создание и редактирование простейших рисунков

      • выполнение арифметических расчётов.

      • ведение дневников и служебных блокнотов

      • работа с электронной почтой

      • воспроихзведение и редактирование звукозаписи

      • воспроизведение видеозаписи

     Работа с архиваторами, антивирусными программами

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

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

    Антивирусы-фильтры - это резидентные программы, которые  оповещают пользователя обо всех попытках  какой-либо  программы  записаться на диск, а уж тем более отформатировать его,  а  также  о других подозрительных действиях (например, о попытках изменить установки CMOS, т.е. начальные настройки компьютера). При этом выводится запрос о разрешении или  запрещении данного действия. Принцип работы этих программ  основан  на перехвате соответствующих  векторов  прерываний.  К  преимуществу программ этого класса по сравнению с программами-детекторами (т.е. сканирующими, но не лечащими вирусы) можно отнести универсальность по отношению  как  к  известным, так  и неизвестным вирусам. Программы-детекторы  пишутся  под  конкретные, известные на данный момент программисту  виды.  Это  особенно актуально сейчас, когда появилось  множество  вирусов-мутантов, не имеющих постоянного кода. Однако, программы-фильтры не могут  отслеживать вирусы, обращающиеся непосредственно к  BIOS,  а  также BOOT-вирусы (т.е. вирусы, блокирующие загрузку операционной системы), активизирующиеся ещё до запуска  антивируса,  в  начальной стадии загрузки базовых программ DOS. К недостаткам  также  можно  отнести частую выдачу запросов на осуществление какой-либо операции:  ответы на вопросы отнимают у  пользователя  много  времени  и  действуют  ему  на  нервы.  При  установке    некоторых    антивирусов-фильтров могут возникать  конфликты  с  другими  резидентными программами, использующими те же прерывания, которые  просто  перестают работать.

    Наибольшее распространение в нашей стране  получили  программы - детекторы,а вернее программы, объединяющие в себе  детектор  и доктор (т.е. и определяет и лечит). Известными представителями этого класса являются программы Aidstest, Doctor Web, Microsoft AntiVirus, которые далее будут рассмотрены подробнее. Антивирусы-детекторы рассчитаны  на конкретные вирусы и основаны на сравнении последовательности кодов, содержащихся в теле  вируса,  с кодами проверяемых программ. Такие программы нужно  регулярно  обновлять, так как они быстро устаревают и  не  могут  обнаруживать новые виды вирусов.

    Ревизоры - программы, которые анализируют  текущее  состояние файлов и системных областей диска и сравнивают его с информацией, сохранённой ранее в одном из файлов  данных  ревизора.  При  этом проверяется состояние BOOT-сектора, таблицы FAT (адреса размещения данных),  а  также  длина файлов, их время создания, атрибуты, контрольная сумма.  Анализируя сообщения программы-ревизора, пользователь может решить,  чем вызваны изменения: вирусом или нет. При выдаче такого рода  сообщений не следует предаваться панике, так как причиной  изменений, например, длины программы может быть вовсе и не  вирус.  Так  был случай, когда один начинающий пользователь не на шутку перепугался, когда антивирус AVP (AntiVirus Toolkit Pro, известная программа доктора Касперского из Москвы) выдал ему сообщение об изменениях в файле CONFIG.SYS. Оказалось, что до этого на компьютер была  осуществлена установка известной программы, для оптимизации работы с памятью "QEMM", которая меняет этот файл при своей установке.

    К последней группе относятся самые неэффективные антивирусы - вакцинаторы. Они записывают в  вакцинируемую  программу  признаки конкретного вируса так, что вирус считает ее уже зараженной.

    Архиваторы

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

    • имя файла;

    • сведения о каталоге, в котором содержится файл;

    • дата и время последней модификации файла;

    • размер файла на диске и в архиве;

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

    Программы ARJ  и RAR позволяют создавать многотомные архивы-последовательности архивных файлов. Они предназначены для архивации больших комплексов файлов на дискеты.

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

    Наиболее известны следующие форматы архивных файлов:

    ARC был разработан фирмой SYSTEM ENHANCEMENT ASSOCIATES, Inc. (SEA), которая в 1985 г. выпустила программу ARC, обслуживающую файлы такого формата;

    PAK являющийся модификацией формата ARC и отличающийся от ARC только новым методом уплотнения, программа создана в 1988 году  Nogate Consulting.

    LZH, ICE и программа LHARC являются “детищами” японского автора Аруясу Есизаки (Haruyasu Yoshizaki)  и были разработаны им в 1988 г;

    ZIP    для файлов, упакованных и распаковывающихся программами PKZIP и PKUNZIP, соответственно, разработанными в 1989 г. фирмой PKWARE;

    ARJ для архивных файлов программы ARJ, созданной в  1990 г. Робертом и Сюзаной Юнг “ARJ  Software”.

    RAR для архивных файлов программы RAR, созданной в 1993 г. Engene Roshal.

    Сегодня можно встретить файлы, упакованные другими программами-архиваторами, которые используются очень редко, и рассматривать их детально в данном методическом пособии  не целесообразно. К таким программам относятся: Hyper (созданная в 1989 г. P.Sawatzki и K.P.Nischke), TAR (1990 г. Tim V. Shaporev), Wpack (1990 г. Watcom System Inc.), ZOO (1991 г. Rahul Dhesi), SQZ (1992 г. Швеция, Jonas I Hammarberg), DIET (1992 г. Teddy Matsumoto), HA (1993 г. Harri Hirvola), HAP (Hamarsoft), Hpack (Peter Gutman), LIMIT (1993 г. J.Y.Lim), BSA и BS2 (1992 г. С.Бабичев, Москва, Phystech soft),ChArc (Dialogue),  AIN (1993 г. ТОО Инфсервис, Санкт-Петербург) и др.

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

     Наиболее распространённые программы-архиваторы имеют приблизительно одинаковые возможности. но ни одна из них не превосходит другие по всем параметрам:  одни программы работают быстрее, другие обеспечивают лучшую степень сжатия файлов.

    Среди наиболее распространённых программ можно  назвать ARJ, PKZIP/PKUNZIP и RAR.