Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
155572.rtf
Скачиваний:
35
Добавлен:
18.05.2015
Размер:
108.32 Кб
Скачать

Архитектура ос Linux

Достаточно широкое растространение в настоящее время получила система Linux (автор базовой версии Линус Торвальдс). Усиление влияния Linux подтвердилось в очередной раз на выставке LinuxWorldExpo в начале февраля 2000 года в Нью-Йорке. В IBM активно разрабатываются приложения для Linux, что подтверждает высокую оценку этой ОС. “Сегодня Linux развивается такими же быстрыми темпами, как Internet в начале 90-х годов, а популярность ее даже выше, чем популярность электронного бизнеса”,- заметил Ирвинг Владавски-Бергер, вице-президент подразделения IBM Enterprise System Group . Аппаратные требования Linux минимальны, пожалуй только MS DOS является менее требовательной к аппаратуре компьютера, чем Linux. Запустить Linux можно даже на 386SX/16, 1Mб ОП, но это тот минимум, который только даст возможность убедиться в работоспособности системы. Базовый набор команд, утилит администрирования и командный интерпретатор займут 10 Мб.

Linux может “сожительствовать” на компьютере с другими системами, например, с MS DOS, MS Windows или OS/2, в этом случае каждая из систем должна располагаться в отдельном разделе диска, а при запуске компьютера будет предложена альтернатива запуска той или иной ОС.

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

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

  • операции ввода/вывода (открытия, чтения, записи и управления файлами),

  • создание и управление процессами, их синхронизация и межпроцессные взаимодействия.

Все приложения запрашивают услуги ядра посредством системных вызовов.

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

Ядро системы

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

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

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

  • файловая подсистема;

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

  • подсистема ввода/вывода.

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

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

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

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

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

Запущенная на выполнение программа порождает в системе один или более процессов, в задачи подсистемы управления процессами входит:

  • создание и удаление процессов;

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

  • синхронизация процессов;

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

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

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

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

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

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

Размещено на Allbest.ru

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