Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 115 питань.doc
Скачиваний:
2
Добавлен:
17.09.2019
Размер:
626.69 Кб
Скачать

69. Основні особливості і характеристики ос сімейства Linux.

Любую Unix/Linux систему можно условно разделить на три основных уровня:

  • Аппаратные средства - самый низкий уровень.

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

  • Пользовательские программы.

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

Взаимодействуя с аппаратными возможностями низкого уровня, ядро реализует следующие элементы операционной системы:

  • Процессы

  • Сигналы

  • Виртуальную память

  • Межзадачное взаимодействие

  • Файловую систему

 Рассмотрим кратко каждый элемент.

 10.11.2.Процессы. Процесс - это абстракция, применяемая в Unix/Linux для описания выполняющиейся программы. Полностью отождествлять понятия «процесс» и «программа» нельзя. Одна программа может выполняться в разных процессах. Процесс - это системный объект, посредством которого можно контролировать обращения программы к памяти, процессору и ресурсам ввода-вывода. В отличие от Windows в системах Unix/Linux как можно большее число работы отдается не ядру, а процессам. Просмотреть список текущих процессов системы можно с помощью команды (ps).

 10.11.3.Сигналы. Сигналы - это средство связи между процессами, с их помощью одна программа посылает сообщения другой. Сигналы могут посылаться от одного процесса другому как средство межзадачного взаимодействия. Сигналы могут посылаться драйвером терминала (консоли), например, для уничтожения процесса по нажатию клавиш Control+C.

10.11.4.Консоль - это интерфейс между пользователем и системой, позволяющий вводить команды с клавиатуры и получать в текстовом виде информацию о их выполнении на экран. Аналогом консоли в Unix является режим командной строки в Windows («сеанс MS-DOS»). Консоль можно также назвать локальным терминалом.

10.11.5.Терминал - это интерфейс, состоящий из экрана и клавиатуры, которые совместно используются для управления компьютером. Посредством терминала можно вводить команды, которые будут выполняться на удаленной машине, а результаты их работы выводиться на терминал.

Ядро может посылать сигналы, если процесс выполняет недопустимую инструкцию, например, деление на ноль. Сигналы может посылать пользователь с помощью команды kill.

 10.11.6. Виртуальная память Unix/Linux. Unix/Linix поддерживает концепцию виртуальной памяти. Память в Unix/Linux организована в виде модулей, которые называются «страницы». Операционная система управлятет памятью так, чтобы страницы, к которым недавно обращались, хранились в памяти, а менее активные выгружались на диск. При этом страницы памяти могут принадлежать разным процессам, и на диск могут выгружаться не все страницы одного процесса, а только часть. Эта стратегия называется «выгрузка по обращению» - demand paging. Выгрузка по обращению - чрезвычайно эффективный механизм, особенно при больших размерах процессов. Она позволяет гибко оперировать отдельными страницами памяти процесса и делает возможным превышение размером процесса объема доступной физической памяти. Одновременно в основной памяти может размещаться большее число процессов.

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

 10.11.8. Файловая система Unix/Linux. Файловой системой называют определённый способ организации ресурсов операционной системы (файлов, каталогов, устройств и прочего) и алгоритм управления ими. Понятием «файловая система» в Unix/Linux также обозначают конкретное множество файлов и каталогов, организованных определенным способом.

Применительно к системам Unix/Linux файловую систему можно представить состоящей из следующих компонентов:

  • Пространство имен - способы именования объектов файловой системы и их организации в виде иерархии.

  • Интерфейс программирования приложений (API) - набор системных вызовов, предназначенных для перемещения между объектами файловой системы и для управления ими.

  • Модель безопасности - схема защиты объектов файловой системы и схема организации их совместного.

  • Реализация файловой системы - программный код, связывающий вышеперечисленные логические модели файловой системы с дисковой подсистемой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]