🗊 Презентация Система Linux

Категория: Образование
Нажмите для полного просмотра!
Система Linux, слайд №1 Система Linux, слайд №2 Система Linux, слайд №3 Система Linux, слайд №4 Система Linux, слайд №5 Система Linux, слайд №6 Система Linux, слайд №7 Система Linux, слайд №8 Система Linux, слайд №9 Система Linux, слайд №10 Система Linux, слайд №11 Система Linux, слайд №12 Система Linux, слайд №13 Система Linux, слайд №14 Система Linux, слайд №15 Система Linux, слайд №16 Система Linux, слайд №17 Система Linux, слайд №18 Система Linux, слайд №19 Система Linux, слайд №20 Система Linux, слайд №21 Система Linux, слайд №22 Система Linux, слайд №23 Система Linux, слайд №24 Система Linux, слайд №25 Система Linux, слайд №26 Система Linux, слайд №27 Система Linux, слайд №28 Система Linux, слайд №29 Система Linux, слайд №30 Система Linux, слайд №31 Система Linux, слайд №32 Система Linux, слайд №33 Система Linux, слайд №34 Система Linux, слайд №35 Система Linux, слайд №36 Система Linux, слайд №37 Система Linux, слайд №38 Система Linux, слайд №39 Система Linux, слайд №40 Система Linux, слайд №41 Система Linux, слайд №42 Система Linux, слайд №43 Система Linux, слайд №44 Система Linux, слайд №45 Система Linux, слайд №46 Система Linux, слайд №47 Система Linux, слайд №48 Система Linux, слайд №49 Система Linux, слайд №50 Система Linux, слайд №51 Система Linux, слайд №52 Система Linux, слайд №53 Система Linux, слайд №54 Система Linux, слайд №55

Содержание

Вы можете ознакомиться и скачать презентацию на тему Система Linux. Доклад-сообщение содержит 55 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Система Linux История Принципы проектирования Модули ядра Управление процессами Планирование Управление памятью Файловые системы Ввод и вывод...
Описание слайда:
Система Linux История Принципы проектирования Модули ядра Управление процессами Планирование Управление памятью Файловые системы Ввод и вывод Взаимодействие процессов Структура сети Безопасность

Слайд 2


История Linux – современная, свободно распростряемая ОС, основанная на стандартах UNIX. Впервые разработана как небольшое, но самодостаточное ядро ОС...
Описание слайда:
История Linux – современная, свободно распростряемая ОС, основанная на стандартах UNIX. Впервые разработана как небольшое, но самодостаточное ядро ОС в 1991 Линусом Торвальдсом (Linus Torvalds), с основной целью добиться совместимости с UNIX. История Linux – это история многолетнего (удаленного) взаимодействия пользователей всего мира, которое осуществляется почти исключительно через Интернет. Система была проектирована с целью эффективного и надежного использования на распространенных персональных компьютерах, но она также используется и на многих других аппаратных платформах. Основная часть ОС Linux – полностью оригинальна, но на ней может также исполняться значительная часть свободно распространяемого программного обеспечения для UNIX, и в результате имеется оригинальная свободно распространяемая совместимая с UNIX система, в которой нет ведомственного (proprietary) кода.

Слайд 3


Ядро Linux Версия 0.01 (май 1991) не содержала сетевых средств, выполнялась только на 80386-совместимых Intel – процессорах, имела очень ограниченный...
Описание слайда:
Ядро Linux Версия 0.01 (май 1991) не содержала сетевых средств, выполнялась только на 80386-совместимых Intel – процессорах, имела очень ограниченный набор драйверов устройств и поддерживала только файловую систему Minix. Linux 1.0 (март 1994) включала следующие новые возможности: Поддержку стандартных для UNIX сетевых протоколов TCP/IP BSD-ствместимый интерфейс сокетов для сетевого программирования Поддержку драйверов устройств для использования IP в сетях типа Ethernet Расширенную файловую систему Поддержку большого диапазона SCSI – контроллеров для высокопроизводительного доступа к дискам Версия 1.2 (март 1995) была последней версией ядра Linux только для PC.

Слайд 4


Linux 2.x Версия 2.0 выпущена в июне 1996, со следующими новыми возможностями: Поддержкой нескольких аппаратных архитектур, включая полный...
Описание слайда:
Linux 2.x Версия 2.0 выпущена в июне 1996, со следующими новыми возможностями: Поддержкой нескольких аппаратных архитектур, включая полный 64-разрядный перенос на рабочие станции Digital Alpha (первые 64-разрядные рабочие станции в мире). Поддержкой многопроцессорной архитектуры Другие новые возможности: Улучшенный код для управления памятью Улучшенная производительность TCP/IP Поддержку внутренних потоков (threads) ядра ОС, для обработки зависимостей между загрузочными модулями, и для автоматической загрузки модулей по требованию. Стандартизованный конфигурационный интерфейс Доступна на процессорах Motorola 68000, Sun SPARC, PC (x86) и PowerMac.

Слайд 5


Система Linux Linux использует многие инструменты, разработанные как части Berkeley BSD UNIX, системы X Window разработки MIT, а также проекта GNU...
Описание слайда:
Система Linux Linux использует многие инструменты, разработанные как части Berkeley BSD UNIX, системы X Window разработки MIT, а также проекта GNU некоммерческой ассоциации Free Software Foundation (FSF). Минимальный набор системных библиотек был разработан как часть проекта GNU, с улучшениями, разработанными сообществом Linux. Средства сетевого администрирования Linux были разработаны на основе 4.3 BSD UNIX; недавние производные от BSD (например, Free BSD), в свою очередь, заимствовали код из Linux. Система Linux поддерживается слабо связанной сетью разработчиков, взаимодействующих через Internet. Небольшое число публично доступных ftp-серверов используются как хранилища информации о де-факто стандартах.

Слайд 6


Дистрибутивы Linux Стандартный предварительно откомпилированный набор пакетов, или дистрибутивов, включает базовую систему Linux, утилиты для...
Описание слайда:
Дистрибутивы Linux Стандартный предварительно откомпилированный набор пакетов, или дистрибутивов, включает базовую систему Linux, утилиты для инсталляции системы и управления системой, а также готовые к инсталляции пакеты инструментов для UNIX. The first distributions managed these packages by simply providing a means of unpacking all the files into the appropriate places; modern distributions include advanced package management. Ранние дистрибутивы включали SLS и Slackware. Red Hat и Debian – популярные дистрибутивы, соответственно, основанный на коммерческих и некоммерческих исходных текстах. Единый формат файла пакета -RPM обеспечивает совместимость между различными дистрибутивами Linux.

Слайд 7


Лицензирование Linux Ядро Linux распространяется на условиях GNU General Public License (GPL), которые установлены организацией Free Software...
Описание слайда:
Лицензирование Linux Ядро Linux распространяется на условиях GNU General Public License (GPL), которые установлены организацией Free Software Foundation. Программист, использующий Linux, либо создающий свои собственные системы на базе Linux, не имеет права превращать свой продукт в коммерческий (ведомственный); программное обеспечение, распространяемое на основе GPL, не может распространяться только в виде двоичного кода.

Слайд 8


Принципы проектирования Linux – многопользовательская и многозадачная ОС с полным набором UNIX-совместимых инструментов. Ее файловая система...
Описание слайда:
Принципы проектирования Linux – многопользовательская и многозадачная ОС с полным набором UNIX-совместимых инструментов. Ее файловая система соответствует традиционной семантике UNIX. Она полностью реализует стандартную сетевую модель UNIX. Основные цели проектирования Linux – скорость, эффективность и стандартизация. Linux разработан как система, совместимая со стандартами POSIX по крайней мере два дистрибутива Linux были официально сертифицированы как совместимые с POSIX. Программный интерфейс Linux соответствует семантике SVR4 UNIX, но не BSD UNIX.

Слайд 9


Компоненты системы Linux
Описание слайда:
Компоненты системы Linux

Слайд 10


Компоненты системы Linux (прод.) Как большинство реализаций UNIX, Linux состоит из трех основных групп кода – ядро, системные библиотеки и системные...
Описание слайда:
Компоненты системы Linux (прод.) Как большинство реализаций UNIX, Linux состоит из трех основных групп кода – ядро, системные библиотеки и системные утилиты; наиболее важно различие между ядром и всеми остальными компонентами. Ядро отвечает за поддержку основных концепций (абстракций) ОС. Код язра исполняется в привилегированном режиме, и ему полностью доступны все аппаратные ресурсы компьютера. Весь код и структуры данны ядра хранятся и исполняются в едином адресном пространстве.

Слайд 11


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

Слайд 12


Модули ядра Части (секции) кода ядра могут компилироваться, загружаться и выгружаться, независимо от остальной части ядра. Модуль ядра может...
Описание слайда:
Модули ядра Части (секции) кода ядра могут компилироваться, загружаться и выгружаться, независимо от остальной части ядра. Модуль ядра может реализовывать драйвер устройства, файловую систему или сетевой протокол. Модульный интерфейс позволяет третьим сторонам разрабатывать и распространять на своих собственных условиях драйверы или файловые системы, которые не могут распространяться на основе GPL. Модули ядра позволяют инсталлировать Linux в виде стандартного, минимального ядра, без использования каких-либо встроенных устройств. Три компоненты модуля Linux поддерживают: Управление модулем Регистрацию драйвера Разрешение конфликтов

Слайд 13


Управление модулем Управляет загрузкой модуля в память и его взаимодействием с остальной частью ядра. Управление модулем разбито на две части:...
Описание слайда:
Управление модулем Управляет загрузкой модуля в память и его взаимодействием с остальной частью ядра. Управление модулем разбито на две части: Управление частями кода модуля в памяти ядра Управление символами, на которые модуль разрешает ссылаться Module requestor – управляет загрузкойц запрошенных, но еще не загруженных модулей; он также регулярно опрашивает ядро, чтобы убедиться, что модуль до сих пор используется, и выгрузит его, если он долгое время активно не использовался.

Слайд 14


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

Слайд 15


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

Слайд 16


Управление процессами Средства управления процессами в UNIX разделяют создание процесса и запуск новой программы на две различные операции. Системный...
Описание слайда:
Управление процессами Средства управления процессами в UNIX разделяют создание процесса и запуск новой программы на две различные операции. Системный вызов fork создает новый процесс. Новая программа запускается с помощью вызова execve. В UNIX процесс содержит всю информацию, которую ОС должна поддерживать для реализации концепции отдельного исполнения отдельной программы. В Linux свойства процесса делятся на три группы: the идентификация процесса, его окружение и контекст.

Слайд 17


Идентификация процесса Идентификатор процесса (PID). Уникальный идентификатор процесса (число); используется для указания процессов в операционной...
Описание слайда:
Идентификация процесса Идентификатор процесса (PID). Уникальный идентификатор процесса (число); используется для указания процессов в операционной системе, когда приложение выполняет системный вызов signal, modify или wait для другого процесса. Полномочия (Credentials). Каждый процесс должен иметь связанный с ним идентификатор пользователя и один или более идентификаторов групп , определяющих права процесса для доступа к системным ресурсам и файлам. Идентификация личности (Personality). Нетрадиционно для систем типа UNIX, но в Linux каждый процесс имеет уникальный идентификатор личности, с помощью которого возможна некоторая модификация семантики ряда системных вызовов. Используется главным образом в библиотеках эмуляции, для запроса о совместимости системных вызовов с тем или иным специфическим диалектом UNIX.

Слайд 18


Окружение процесса Окружение процесса получается из процесса-родителя, состоит из двух векторов, завершающихся нулями: Вектор аргументов содержит...
Описание слайда:
Окружение процесса Окружение процесса получается из процесса-родителя, состоит из двух векторов, завершающихся нулями: Вектор аргументов содержит список аргументов командной строки, использованный при вызове исполняемой программы; традиционно начинается с имени самой программы Вектор окружения – это список пар “NAME=VALUE”, которые связывают переменные окружения с заданными именами и их произвольные текстовые значения. Передача переменных окружения между процессами и наследование этих переменных дочерними процессами – гибкие средства передачи информации компонентам системного программного обеспечения, работающим в непривилегированном режиме. Механизм переменных окружения обеспечивает средства настройки ОС, которые могут устанавливаться для каждого процесса отдельно, а не путем конфигурирования системы в целом.

Слайд 19


Контекст процесса (Постоянно изменяющееся) состояние исполняемой программы в любой момент времени. Контекст планирования – наиболее важная часть...
Описание слайда:
Контекст процесса (Постоянно изменяющееся) состояние исполняемой программы в любой момент времени. Контекст планирования – наиболее важная часть контекста процесса; это информация, которую использует планировщих для приостановки и запуска процесса. Ядро поддерживает хранение статистической информации о потребляемых в каждый момент каждым процессом, и общем объеме ресурсов, использованным каждым просессом с момента его создания по настоящий момент. Таблица файлов – это вектор указателей на системные файловые структуры. При выполнении системных вызовов для ввода-вывода процессы ссылаются на эти структуры с помощью индексов в таблице файлов.

Слайд 20


Контекст процесса (прод.) В то время как таблица файлов содержит список открытых файлов, контекст файловой системы применяется для запросов об...
Описание слайда:
Контекст процесса (прод.) В то время как таблица файлов содержит список открытых файлов, контекст файловой системы применяется для запросов об открытии новых файлов. Здесь хранятся ссылки на текущую корневую (root) директорию и рабочую (default) директорию для поиска файлов. Таблицы обработчиков сигналов определяет подпрограммы в адресном пространстве процесса, которые должны быть вызваны при возникновении соответствующих сигналов. Контекст виртуальной памяти процесса определяет все содержимое его персонального адресного пространства.

Слайд 21


Процессы и потоки Linux использует одно и то же внутреннее представление для процессов и потоков; поток – это новый процесс, который использует общее...
Описание слайда:
Процессы и потоки Linux использует одно и то же внутреннее представление для процессов и потоков; поток – это новый процесс, который использует общее адресное пространство с процессом-родителем. Различие проявляется только в случае, когда новый поток создается системным вызовом clone. fork создает новый процесс со своим полностью новым контекстом clone создает новый процесс со своим новым идентификатором личности, но такой, которому разрешено совместно использовать структуры данных со своим родителем Использование clone дает процессам возможность явного контроля над тем, какие ресурсы совместно используются потоками.

Слайд 22


Планирование Распределение операционной системой процессорного времени между различными задачами. В то время как обычно под планированием понимается...
Описание слайда:
Планирование Распределение операционной системой процессорного времени между различными задачами. В то время как обычно под планированием понимается запуск и приостановка процессов, в Linux планирование также включает выполнение различных задач ядра. Выполнение задач ядра включает как задания, запрошенные данным процессом, так и задания, исполняемые в процессе работы драйверов.

Слайд 23


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

Слайд 24


Синхронизация в ядре (прод.) Linux использует два метода для защиты критических секций: 1. Обычный код ядра - не прерываемый – Если получено...
Описание слайда:
Синхронизация в ядре (прод.) Linux использует два метода для защиты критических секций: 1. Обычный код ядра - не прерываемый – Если получено прерывание по времени, в момент, когда процесс исполняет подпрограмму системного сервиса ядра, флаг need_resched служит для указания того, чтобы запустился планировщик, когда завершится системный вызов и управление должно быть передано непривилегированному коду. 2. Второй метод применяется к критическим секциям ядра, которые исполняются в сервисах обработки прерываний. – Используя аппаратуру процессора для управления прерываниями для отключения прерываний во время исполнения критической секции, ядро гарантирует, что оно может исполняться без риска обновременного обращения к общим структурам данных.

Слайд 25


Синхронизация в ядре (прод.) Во избежание потери производительности, ядро Linux использует архитектуру синхронизации, которая позволяет большим...
Описание слайда:
Синхронизация в ядре (прод.) Во избежание потери производительности, ядро Linux использует архитектуру синхронизации, которая позволяет большим критическим секциям исполняться без необходимости отключения прерываний на все время исполнения критической секции. Службы обработки прерываний делятся на верхнюю половину (top half) и нижнюю половину (bottom half). Верхняя половина – это обычная процедура обработки прерываний, исполняемая с отключением рекурсивных прерываний. Нижняя половина исполняется при включенном режиме прерываний, с использованием мини-планировщика, который обеспечивает, чтобы нижние половины не прерывали друг друга. Эта архитектура дополняется механизмом для выбора нижних половинок при исполнении обычного кода ядра.

Слайд 26


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

Слайд 27


Планирование процессов Linux использует два алгоритма планирования процессов: Алгоритм разделения времени для равноправного планирования с...
Описание слайда:
Планирование процессов Linux использует два алгоритма планирования процессов: Алгоритм разделения времени для равноправного планирования с прерываниями между различными процессами Алгоритм реального времени для случая, когда абсолютные приоритеты более важны, чем равноправность Класс планирования процесса определяет, какой именно алгоритм применить. Для процессов с разделением времени Linux использует алгоритм на основе доверия с приоритетами. Правило: учитывает как историю процесса, так и его приоритет. Эта ситема автоматически определяет приоритеты интерактивных процессов или исполняющих ввод-вывод.

Слайд 28


Планирование процессов (прод.) Linux реализует классы планирования: FIFO и round-robin; в обоих случаях каждый процесс имеет приоритет, а не только...
Описание слайда:
Планирование процессов (прод.) Linux реализует классы планирования: FIFO и round-robin; в обоих случаях каждый процесс имеет приоритет, а не только определенный класс планирования. Планировщик запускает процесс с наивысшим приоритетом; для процессов с одним и тем же приоритетом, он исполняет процесс, каторый дольше всего ждал FIFO – процессы исполняются до их завершения или блокировки round-robin – процесс будет прерван через некоторое время и помещен в конец очереди планирования, так что RR-процессы одинакового приоритета автоматически разделяют время между собой.

Слайд 29


Симметричное мультипроцессирование Linux 2.0 была первым ядром Linux, поддерживающим SMP-оборудование; различные процессы или потоки могут...
Описание слайда:
Симметричное мультипроцессирование Linux 2.0 была первым ядром Linux, поддерживающим SMP-оборудование; различные процессы или потоки могут исполняться параллельно на нескольких процессорах Для соблюдения требований ядра об исполнении без прерываний, SMP накладывает следующее ограничение: не более чем один процессо в каждый момент может исполнять код в режиме ядра.

Слайд 30


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

Слайд 31


Расщепление памяти в куче (пример)
Описание слайда:
Расщепление памяти в куче (пример)

Слайд 32


Управление физической памятью Распределитель страниц размещает и освобождает физические страницы; он может также по запросу размещать группы смежных...
Описание слайда:
Управление физической памятью Распределитель страниц размещает и освобождает физические страницы; он может также по запросу размещать группы смежных страниц. Он использует алгоритм buddy-heap (партнерской кучи) для слежения за доступными физическими страницами. Каждая область памяти, подлежащая распределению, образует пару с ее смежным “партнером”. Когда обе области-партнера освобождаются, они сливаются и образуют смежную область вдвое большего размера (В.О: см. Д. Кнут, т.1). Если не существует малой области памяти, чтобы удовлетворить небольшой запрос на память, то бОльшая область памяти расщепляется на две области-партнера для удовлетворения данного запроса. Распределение памяти для ядра Linux возможно как статическое (драйвер резервирует статическую область памяти во время загрузки системы) или динамическое (с помощью распределителя страниц).

Слайд 33


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

Слайд 34


Виртуальная память (прод.) Области виртуальной памяти характеризуются: Файл откачки (the backing store), описывающие, откуда берутся страницы для...
Описание слайда:
Виртуальная память (прод.) Области виртуальной памяти характеризуются: Файл откачки (the backing store), описывающие, откуда берутся страницы для заданного региона; регионы обычно поддерживаются либо файлом, либо не поддерживаются вообще ((память, обнуляемая по требованию) Реакция региона на запись (разделение страниц или копирование при записи). Ядро создает новое виртуальное адресное пространство 1. Когда пройесс запускает новую программу системным вызовом exec 2. При создании нового процесса системным вызовом fork

Слайд 35


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

Слайд 36


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

Слайд 37


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

Слайд 38


Исполнение и загрузка пользовательских программ Linux поддерживает таблицу функций для загрузки программ; она дает каждой функции возможность...
Описание слайда:
Исполнение и загрузка пользовательских программ Linux поддерживает таблицу функций для загрузки программ; она дает каждой функции возможность попытаться загрузить заданный файл, когда выполняется системный вызов exec. Регистрация многократно загружаемых программ позволяет Linux поддерживать как ELF-, так и a.out – форматы кода. Первоначально страницы двоичного файла загружаются в виртуальную память; только если программа пытается обратиться к данной странице и возникает отказ страницы, в результате данная страница загружается в физическую память. Двоичный файл ELF-формата состоит из заголовка, за которым следуют несколько выравненных до страницы секций; ELF-загрузчик читает заголовок и отображает секции файла в отдельные регионы виртуальной памяти.

Слайд 39


Распределение памяти для ELF- программ
Описание слайда:
Распределение памяти для ELF- программ

Слайд 40


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

Слайд 41


Системы файлов С точки зрения пользователя файловая система Linux представляет собой иерархическое дерево директорий, подчиняющееся семантике UNIX. С...
Описание слайда:
Системы файлов С точки зрения пользователя файловая система Linux представляет собой иерархическое дерево директорий, подчиняющееся семантике UNIX. С внутренней точки зрения, ядро скрывает детали реализации и управляет многими различными файловыми системами через общий уровень абстракции, то есть, виртуальную файловую систему (VFS). Linux VFS спроектирована по объектно-ориентированным принципам и состоит из двух компонент: Набор определений, задающий, как может выглядеть файл Структуры inode-object и file-object представляют отдельные файлы file system object представляет файловую систему в целом Существует уровень абстракции для манипулирования этими объектами.

Слайд 42


Файловая система Linux Ext2fs Ext2fs использует механизм, сходный с BSD Fast File System (ffs) для поиска блоков данных, принадлежащих некоторому...
Описание слайда:
Файловая система Linux Ext2fs Ext2fs использует механизм, сходный с BSD Fast File System (ffs) для поиска блоков данных, принадлежащих некоторому файлу. Основные различия между ext2fs и ffs касаются их политик распределения дисковой памяти. В ffs диск делится на файлы, состоящие из блоков по 8Kb, а блоки разбиваются на фрагменты по 1Kb для хранения маленьких файлов или частично заполненных блоков в конце файла. Ext2fs не использует фрагменты; она распределяет память более мелкими единицами. Размер блока по умолчанию в ext2fs -1Kb, хотя блоки в 2Kb и 4Kb также поддерживаются. Ext2fs использует политики распределения, спроектированные с целью размещения логически смежных блоков файла в физически смежных блоках на диске, так чтобы можно было использовать одну операцию ввода-вывода для нескольких смежных блоков.

Слайд 43


Политики размещения блоков в Ext2fs
Описание слайда:
Политики размещения блоков в Ext2fs

Слайд 44


Файловая система Linux Proc Файловая система proc не хранит данные; вместо этого, их содержимое вычисляется по требованию, в соответствии с...
Описание слайда:
Файловая система Linux Proc Файловая система proc не хранит данные; вместо этого, их содержимое вычисляется по требованию, в соответствии с пользовательскими запросами на ввод-вывод. proc должна реализовывать структуру директорий и файлы, находящиеся внутри них; она затем должна определить уникальный и сохраняемый номер inode для каждой директории directory и файлов, которые в ней содержатся. Она использует этот номер inode для идентификации, какая операция требуется, когда пользователь пытается из конкретного inode файла или выполнить поиск в конкретном inode директории. Когда данные читаются из одного из этих файлов, proc собирает соответствующую информацию, преобразует ее в текстовую форму и помещает в буфер чтения соответствующего процесса.

Слайд 45


Linux: Ввод и вывод Система файлов Linux , ориентированная на устройства, осуществляет доступ к дисковой памяти с помошью двух кэшей: Данные хранятся...
Описание слайда:
Linux: Ввод и вывод Система файлов Linux , ориентированная на устройства, осуществляет доступ к дисковой памяти с помошью двух кэшей: Данные хранятся в кэше страниц, который объединен с системой виртуальной памяти Метаданные хранятся в буферном кэше, причем каждый кэш индексируется блоком диска. Linux разбивает устройства на три класса: Блочные устройства допускают произвольный доступ к полностью независимым блокам данных фиксированного размера Символьные устройства включают большую часть всех других устройств; они не нуждаются в поддержке функциональности обычных файлов. Сетевые устройства взаимодействуют с сетевой системой ядра

Слайд 46


Блочная структура драйверов устройств
Описание слайда:
Блочная структура драйверов устройств

Слайд 47


Блочные устройства Обеспечивают основной интерфейс ко всем дисковым устройствам в системе. Блочный буферный кэш служит для двух основных целей: Как...
Описание слайда:
Блочные устройства Обеспечивают основной интерфейс ко всем дисковым устройствам в системе. Блочный буферный кэш служит для двух основных целей: Как буферный пул для активного ввода-вывода Как кэш для завершенного ввода-вывода Менеждер запросов управляет чтением и записью содержимого буферов с помощью драйвера блочного устройства.

Слайд 48


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

Слайд 49


Взаимодействие процессов Как и UNIX, Linux информирует процессы о наступлении событий с помощью сигналов. Существует ограниченный набор сигналов, и...
Описание слайда:
Взаимодействие процессов Как и UNIX, Linux информирует процессы о наступлении событий с помощью сигналов. Существует ограниченный набор сигналов, и они не могут нести какую-либо информацию: только факт, что сигнал имеет место, доступен процессу. Ядро Linux не использует сигналы для коммуникации процессов, исполняемых в режиме ядра. Коммуникация внутри ядра осуществляется с помощью структур планировщика – states (состояния) и wait.queue (очередь ожидания).

Слайд 50


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

Слайд 51


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

Слайд 52


Структура сети Работа в сети – ключевая область функциональности в Linux. Сетевая система Linux поддерживает основные Интернет-протоколы для...
Описание слайда:
Структура сети Работа в сети – ключевая область функциональности в Linux. Сетевая система Linux поддерживает основные Интернет-протоколы для коммуникаций UNIX - UNIX. Она также реализует протоколы, характерные для ОС, отличных от UNIX, в частности, протоколы, используемые в сетях PC, таких как Appletalk и IPX. Внутри сетевая система Linux реализована в виде трех уровней абстракции: Сокетный интерфейс Драйверы протоколов Драйверы сетевых устройств

Слайд 53


Структура сети (прод.) Наиболее важный набор сетевых протоколов в Linux – это набор протоколов Интернета. Она обеспечивает маршрутизацию между...
Описание слайда:
Структура сети (прод.) Наиболее важный набор сетевых протоколов в Linux – это набор протоколов Интернета. Она обеспечивает маршрутизацию между различными машинами на любом участке сети. На верхнем уровне протокола маршрутизации поддерживаются UDP-, TCP- и ICMP-протоколы.

Слайд 54


Безопасность Подключаемые аутентифакационные модули (pluggable authentication modules - PAM) доступны в системе Linux. PAM основана на общей...
Описание слайда:
Безопасность Подключаемые аутентифакационные модули (pluggable authentication modules - PAM) доступны в системе Linux. PAM основана на общей библиотеке, которая может быть использована любыми компонентами, которым требуется аутентифицировать пользователя. Управление доступом в системах типа UNIX, включая и Linux, осуществляется с помощью уникальных числовых идентификаторов пользователя и группы (uid и gid). Управление доступом выполняется путем присваивания объектам маски защиты, которая указывает, какие операции (чтение, запись, исполнение) доступны для владельца, группы и всех остальных пользователей.

Слайд 55


Безопасность (прод.) Linux дополняет стандартный механизм UNIX – setuid - двумя способами: Реализует этот механизм по спецификации POSIX, что...
Описание слайда:
Безопасность (прод.) Linux дополняет стандартный механизм UNIX – setuid - двумя способами: Реализует этот механизм по спецификации POSIX, что позволяет каждому процессу process многократно освобождать и вновь получать свой действующий uid. Добавлена характеристика процесса, которая предоставляет лишь подмножество полномочий по действующему uid. Linux обеспечивает другой механизм, который позволяет клиенту выборочно передавать доступ к отдельному файлу некоторому серверному процессу без предоставления ему каких-либо других привилегий.



Похожие презентации
Mypresentation.ru
Загрузить презентацию