ааа. Документ Microsoft Word. Руководство по изучению дисциплины Операционные системы (Информатика бк)
![]()
|
Операционная система UNIXОфициальной датой рождения операционной системы UNIX считают 1 января 1970 года. Именно с этого момента любая система UNIX отсчитывает свое системное время. Это – очень большой срок для операционной системы. Сегодня, несмотря на появление более простых и удобных, с точки зрения администрирования, систем, UNIX прочно занимает место среди лидеров. К основным характеристикам UNIX, позволяющим понять причины долгожительства этой системы, можно отнести следующие. Код системы написан на языке высокого уровня СИ, что сделало ее простой для понимания, изменений и переноса на другие аппаратные платформы. UNIX – многозадачная многопользовательская система. Один мощный сервер может обслуживать запросы большого количества пользователей. Система может выполнять самые различные функции: работать как вычислительный сервер, обслуживающий сотни пользователей, как сервер базы данных, как сетевой сервер или сетевой маршрутизатор. Несмотря на многообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов. UNIX располагает простым, но мощным набором стандартных пользовательских интерфейсов. Унифицированный интерфейс файловой системы UNIX реализует доступ не только к данным, хранящимся на дисках, но и к терминалам, принтерам, магнитным лентам, компакт-дискам, сети и даже к памяти. Для системы UNIX разработано большое число различных приложений, от простейших текстовых редакторов, до мощных систем управления базами данных. В общем виде, операционная система UNIX может быть представлена двухуровневой моделью, как это изображено на рис 1. ![]() Рис. 1. Общая модель системы UNIX В центре находится ядро системы (kernel). Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей ее архитектуры. Ядро включает в себя программы, реализующие набор услуг, предоставляемых прикладным программам. К услугам ядра относятся операции ввода/вывода, создания и управления процессами, синхронизация процессов и т.д. Следующий уровень модели системные услуги, обеспечивающие пользовательский интерфейс ОС UNIX. Схема взаимодействия с ядром и приложений, и системных задач одинакова. Функции операционной системы UNIXОперационная система UNIX взаимодействует с аппаратными и программными ресурсами компьютера, выполняя следующие функции: - управление оборудованием - управление ресурсами - поддержку интерфейсов пользователя - выполнение ввода и вывода информации - мониторинг системы - обеспечение удаленного доступа в компьютерной сети Управление оборудованиемПрикладные программы не имеют возможности управлять оборудованием компьютера непосредственно. Только операционная система выполняет функции управления оборудованием, предоставляя возможность доступа приложениям и другим программам к периферийным устройствам (при этом, устраняется необходимость знать специфику управления таким устройством). Заложенная в ОС концепция независимости программ от конкретной аппаратной реализации, является одним из важных элементов обеспечения мобильности операционной системы UNIX, что позволяет широко использовать ее в разнообразных аппаратных конфигурациях. Управление ресурсамиОС UNIX управляет распределением ресурсов компьютера между множеством пользователей, выполняющих одновременно множество задач, часто работающих с различными объектами, поддерживая многозадачный и многопользовательский режимы работы. Многозадачный режим позволяет одному пользователю выполнять одновременно несколько программ, при этом ЦП и оперативная память разделяется между множеством процессов. Многопользовательский режим поддерживает возможность одновременной работы нескольких пользователей, разделяя между ними ресурсы компьютера, в том числе дорогие периферийные устройства, такие, как принтеры или плоттеры. Такой режим работы оказывается экономически более эффективным, чем объединение нескольких машин, на которых работает по одному пользователю. Поддержка интерфейсов пользователяИнтерфейс пользователя – это средство обеспечения интерактивного (обеспечивающего диалог) взаимодействия пользователей с вычислительной системой. Современные версии операционной системы UNIX поддерживают несколько типов интерфейсов: командную строку, меню и графический пользовательский интерфейс. Командная строка обычно удобна для пользователей, знакомых с функциями и командами системы. При работе с таким типом интерфейса, пользователь на "подсказку" (по умолчанию – это знак доллара) вводит каждую команду с клавиатуры. Этот интерфейс не обеспечивает "обзора" системы, однако позволяет выполнить любую команду системы. Программы, обеспечивающими такой интерфейс называются оболочками (shell) . В состав операционная система UNIX обычно входят три таких программы: Bourne shell (sh), Korn shell (ksh) и C shell (csh). Меню обычно используется новичками или пользователями, которым необходимо произвести некоторые установки в операционной системе. Часто такой интерфейс осуществляет функцию гида: он позволяет пользователю выбрать некоторую функцию из списка (меню), которая будет выполняться системой. Обычно меню организуется в виде многоуровневого текста, предлагая пользователю несколько возможностей выбора. Примером такого интерфейса может служить программа sysadm, помогающая системному администратору выполнять работы по конфигурированию и настройке системы. Графический пользовательский интерфейс ориентирован как на новичков, так и на квалифицированных пользователей. Он обеспечивает несколько путей взаимодействия с компьютером: обзор объектов системы, изображаемых пиктограммами, выполнение команд путем выбора графического изображения (пиктограммы) на экране дисплея с помощью "мыши" или устройства tracking ball. ОС UNIX обеспечивает X.desktop как графический пользовательский интерфейс для работы со специальными X-терминалами, или систему X Windows для работы с обычными графическими терминалами. Обеспечение удаленного доступа в компьютерной сетиОС UNIX обеспечивает доступ пользователей к ресурсам других компьютеров, работающих в вычислительной сети. В составе операционной системы имеется набор сетевых приложений, позволяющих устанавливать связь с удаленным компьютером, регистрироваться в удаленной системе, передавать данные между компьютерами сети, пользоваться электронной почтой. UNIX поддерживает сетевую файловую систему NFS (Network File System), позволяющую пользоваться командами операционной системы для доступа к файловой системе удаленного компьютера. Компоненты операционной системы UNIX Как уже было сказано выше, операционная система - это набор программ, который обеспечивает функции управления процессами в системе и реализует интерфейс между пользователями аппаратурой системы. UNIX система содержит три главные компоненты: систему команд, оболочки и ядро. Система командВ составе ОС UNIX имеется несколько сотен команд, которые выполняют задачи организации и обработки данных, и управляют окружением пользователя. Сами команды являются небольшими программами, которые выполняют определенные функции, требуя, как правило, минимального ввода данных, и выполняются сравнительно быстро. Большая часть из них доступна всем пользователям, однако, около 100 команд доступны только администратору системы, который является привилегированным пользователем. Некоторые команды, при исполнении которых имеется возможность интерактивного ввода информации, иногда называют утилитами. Примером утилит могут служить редактор текстов vi и команда управлением электронной почты mail. ОболочкиОболочками обычно называются интерактивные программы, обеспечивающие пользовательский интерфейс с ядром операционной системы. Оболочка становится активным процессом пользователя с момента, когда он регистрируется в системе и до его выхода из системы. Эти программы являются командными интерпретаторами (иногда их называют командными процессорами). Как было отмечено выше, в составе ОС UNIX обычно используется несколько оболочек: Bourne shell (sh): основная стандартная оболочка UNIX; Korn shell (ksh): расширенная версия Bourne shell; C shell (csh): популярная оболочка UNIX, разработанная университетом Беркли (BSD UNIX). Оболочки с ограничениями (restricted shell – rsh и rksh): подмножества Bourne shell и Korn shell, разработанные для пользователей, которым необходимо ограничить доступ к системе. ЯдроЯдро системы представляет собой сердцевину операционной системы, которая обеспечивает базовые функции: создает процессы и управляет ими, распределяет память и обеспечивает доступ к файлам и периферийным устройствам. Взаимодействие прикладных задач с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов определяет формат запросов на базовые услуги. Процесс запрашивает базовую функцию ядра посредством системного вызова определенной процедуры ядра. Ядро выполняет запрос и возвращает процессу необходимые данные. Ядро состоит из трех основных подсистем: - подсистема управления процессами и памятью; - файловая подсистема; - подсистема ввода/вывода. Модуль подсистемы управления процессами выполняет следующие функции: - создание и удаление процессов; - распределение системных ресурсов между процессами; - синхронизацию процессов; - взаимодействие процессов. Специальная функция ядра, выполняемая планировщиком процессов (scheduler), разрешает конфликты между процессами в конкурентной борьбе за системные ресурсы. Модуль подсистемы управления памятью обеспечивает распределение памяти между процессами. Если для всех процессов недостаточно памяти, ядро перемещает части процесса или несколько процессов (чаще пассивных, ожидающих каких-либо событий в системе) в специальную область диска (область "подкачки"), освобождая ресурсы для выполняющихся (активных) процессов. Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Она выполняет операции размещения и удаление файлов, выполняет операции записи/чтения данных файла, а также контролирует права доступа к файлу. Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами на доступ к периферийным устройствам. Она взаимодействует с драйверами устройств – специальными программами ядра, обслуживающими внешние устройства. |