Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. A) структура рабочего стола
  2. Cудeбныe функции князя и вeчe
  3. I. Основные задачи и направления работы библиотеки
  4. I. Основные парадигмы классической социологической теории.
  5. I. ОСНОВНЫЕ ПОЛОЖЕНИЯ УЧЕБНОЙ ПРАКТИКИ
  6. I. ОСНОВНЫЕ ПОЛОЖЕНИЯ. РУКОВОДСТВО ПОДГОТОВКОЙ И НАПИСАНИЕМ КУРСОВОЙ РАБОТЫ
  7. I. Основные свойства живого. Биология клетки (цитология).
  8. I. Основные цели
  9. I. Правосознание: понятие, структура, функции и виды.
  10. I. Сущность, формы, функции исторического знания.

Ядро состоит из трех основных подсистем (рис. 2):

- Файловая подсистема

- Подсистема управления процессами и памятью

- Подсистема ввода/вывода.

 

 
 

 


Рис. 2.

 

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

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

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

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

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

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

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

Файловая подсистема управляет файлами, размещает записи файлов, управляет свободным пространством, доступом к файлам и поиском данных для пользователей.

Процессы взаимодействуют с подсистемой управления файлами, используя при этом совокупность специальных обращений к операционной системе, таких как open(2) (для того, чтобы открыть файл на чтение или запись), close(2), read(2), write(2), stat(2) (запросить атрибуты файла), chown(2) (изменить запись с информацией о владельце файла) и chmod(2) (изменить права доступа к файлу).

Забегая вперед, отметим, что в UNIX поддерживается шесть типов файлов. «Обычными», т.е. файлами на диске, с которыми Вы уже имели дело, являются только первый из этих типов:

- обыкновенным файлом (regular file)

- каталогом (directory)

- специальным файлом устройства (speshial device file)

- именованным (имеющим имя) каналом связи (named pipe или FIFO)

- связью (link)

- сокетом (socket).

Благодаря этому файловая подсистема обеспечивает унифицированный (единый, единообразный) интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Одни и те же функции open (2), read(2), write(2) могут использоваться как при чтении или записи данных на диск, так и при выводе текста на принтер или терминал. Файловая подсистема обеспечивает перенаправление запросов, адресован­ных периферийным устройствам, соответствующим модулям подсистемы вода/вывода

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

 

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

Запущенная на выполнение программа порождает в системе один или более процессов (или задач). Подсистема управления процессами контролирует:

· Создание и удаление процессов.

· Распределение системных ресурсов (памяти, вычислительных ресур­сов) между процессами.

· Синхронизацию процессов.

· Межпроцессное взаимодействие.

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

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

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

Модуль межпроцессного взассмодействия отвечает за уведомление процессов o событиях c помощью сигнaлов и обеспечивает возможность пеpедачи данных между pазличными процессами.

Примерами обращений к операционной системе, используемых при управлении процессами, могут служить fork(2) (создание нового процесса), exec(2) (наложение образа программы на выполняемый процесс), exit(2) (завершение выполнения процесса), wait(2) (синхронизация продолжения выполнения основного процесса с моментом выхода из порожденного процесса), brk(2) (управление размером памяти, выделенной процессу) и signal(2) (управление реакцией процесса на возникновение экстраординарных событий).

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




Дата добавления: 2014-12-19; просмотров: 24 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав