Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по операционным системам Вологи...doc
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
3.39 Mб
Скачать

Раздел 3. Особености построения и функционирования семейсв операционных систем «Unix» и «Windows» Особенности построения ос семейства Unix.

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

ОС UNIX была создана в 1969 году. С тех пор ОС UNIX является самой популярной ОС для любых моделей компьютеров от простейших персональных ЭВМ до суперкомпьютеров.

Основные черты ОС UNIX:

  • масштабируемость (при увеличении количества CPU - увеличение производительности практически линейно);

  • переносимость (приложения переносимы на уровне исходных текстов между различными версиями ОС UNIX);

  • кросс-платформенность (версии ОС UNIX существуют практически для всех современных архитектур);

  • открытость (для получения системой торговой UNIX выполняется набор тестов на соответствие стандартам открытых систем).

Основные сервисы ОС UNIX

  • Приложений

    • СУБД;

    • Прикладные задачи.

  • Файловый

    • NFS (Network File System);

    • FTP (File Transfer Protocol);

    • NCPFS (Эмуляция сервера Novell NetWare);

    • SMBFS (Сервис совместимый с Microsoft Windows NT, 95, WfWG, IBM LAN (Warp) Server);

    • UUCP (Unix to Unix Copy).

  • Печать

  • InterNet, IntraNet

    • E-Mail;

    • R-Services;

    • DNS (Domen Name Service);

    • Router (Маршрутизация);

    • WWW (World Wide Web).

Существует два основных интерфейса пользователя ОС UNIX: текстовый или интерфейс командной строки (пользователь "общается" со специальной программой - SHELL) и графический (X-Windows).

Текстовый режим работы доступен на любых типах терминала, при работе Telnetom, и на консоли. Текстовый режим является основным для привилегированных пользователей ОС UNIX.

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

Основные Shellы:

  • SH - стандартный интерпретатор командных строк.

  • CSH - интерпретатор командных строк, обладающий С-подобным синтаксисом.

  • KSH (KornShell) - стандартный интерпретатор командных строк и язык программирования.

  • BASH - SH подобный интерпретатор командных строк, имеющий некоторые черты CSH. Распространен на Linux системах. Удобный интерфейс пользователя.

Режимы доступа к файлам ОС UNIX

Для каждого файла ОС UNIX установлены три категории доступа:

  • OWNER (владелец файла);

  • GROUP (группа, которой принадлежит владелец файла);

  • OTHER (все остальные пользователи).

Для каждой категории установлены три режима доступа:

  • R - право на чтение файла;

  • W - право на запись, создание и модификацию файла;

  • X - право на выполнение файла (для каталога права поиска (просмотра) в каталоге).

По умолчанию:

  • не выполняемые файлы создаются с режимом доступа -rw-r--r-- (чтение и запись для владельца, чтение для остальных);

  • выполняемые файлы создаются с режимом доступа -rwxr-xr-x (чтение, запись и выполнение для владельца, чтение и выполнение для остальных);

  • каталоги создаются с режимом доступа -rwxr-xr-x (чтение, запись и поиск для владельца, чтение и поиск остальных).

Независимо от версии, общими для UNIX чертами являются:

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

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

  • использование механизмов виртуальной памяти и свопинга для повышения уровня мультипрограммирования;

  • унификация операций ввода-вывода на основе расширенного использования понятия "файл";

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

  • переносимость системы за счет написания ее основной части на языке C;

  • разнообразные средства взаимодействия процессов, в том числе и через сеть;

  • кэширование диска для уменьшения среднего времени доступа к файлам.

Ядро UNIX

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

Ядро большинства современных коммерческих вариантов ОС UNIX представляет собой не очень четко структурированный монолит большого размера. По этой причине программирование на уровне ядра ОС UNIX продолжает оставаться искусством (если не считать отработанной и понятной технологии разработки драйверов внешних устройств).

Общая организация традиционного ядра ОС UNIX

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

Основные функции ядра ОС UNIX

К основным функциям ядра ОС UNIX принято относить следующие:

  • Инициализация системы - функция запуска и раскрутки. Ядро системы обеспечивает средство раскрутки (bootstrap), которое обеспечивает загрузку полного ядра в память компьютера и запускает ядро.

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

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

  • Коммуникационные средства - функция, обеспечивающая возможности обмена данными между процессами, выполняющимися внутри одного компьютера (IPC - Inter-Process Communications), между процессами, выполняющимися в разных узлах локальной или глобальной сети передачи данных, а также между процессами и драйверами внешних устройств.

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

Принципы взаимодействия с ядром

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

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

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

Контрольные вопросы

  1. К какому классу операционных систем относятся ОС семейства Unix?

  2. В каком году была создана первая версия ОС Unix?

  3. Назовите основные черты ОС Unix.

  4. Какие сервисы предоставляет пользователю ОС Unix?

  5. Какие виды пользовательского интерфейса имеются в ОС Unix?

  6. Какой режим для привилегированных пользователей ОС Unix является основным?

  7. Какие категории доступа установлены в ОС Unix для каждого файла?

  8. Какие категории доступа к файлам в ОС Unix устанавливаются по умолчанию?

  9. Какие черты ОС Unix являются общими, независимо от версии?

  10. Что представляет собой ядро ОС Unix?

  11. В чем заключается одно из основных достижений ОС Unix?

  12. Перечислите основные функции ядра ОС Unix.

  13. Как называются средства, позволяющие пользовательским программам обращаться за услугами ядра?