Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Linux создавалась как UNIX-подобная операционная система, поэтому принципы ее архитектуры мало чем отличаются от стандартной UNIX. Базовым элементом Linux является ядро (kernel), которое непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей его архитектуры. Ядро обеспечивает выполнение основных функций операционной системы, включая управление процессами и памятью, поддержку файловой системы и управление вводом-выводом. Напомним, что процессами в Linux называют находящиеся в стадии выполнения программы, которые претендуют на получение имеющихся аппаратных ресурсов и данных.
Управление процессами осуществляется планировщиком процессов (scheduler), который создает процессы и управляет распределением ресурсов между ними. В частности, планировщик управляет выделением квантов процессорного времени и осуществляет диспетчеризацию процессов, выбирая для выполнения процесс с наивысшим приоритетом. Для взаимодействия между процессами поддерживается механизм обмена управляющими сигналами, а также обеспечивается возможность обмена данными между различными процессами.
Управление памятью основано на методе страничной организации виртуальной памяти, реализуемом в соответствии с аппаратными особенностями той или иной платформы.
Файловая система Linux обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях и других периферийных устройствах. Файловая система имеет иерархическую организацию, с возможностью объединения файлов в соподчиненные каталоги. Логически данная организация в точности соответствует рассмотренной нами ранее файловой системе HFS UNIX. Файловая система контролирует права доступа к файлу при выполнении различных операций, основываясь на статусе и привилегиях пользователя и запущенных им приложений. Следует отметить, что все периферийные устройства рассматриваются как элементы единой файловой системы Linux.
Управление вводом-выводом заключается в выполнении запросов файловой системы и модуля управления процессами на доступ к различным периферийным устройствам (дискам, принтерам, пользовательским терминалам, сетевым адаптерам и т.п.). При выполнении операций ввода-вывода организуется разделяемый доступ к устройствам и обеспечивается необходимая буферизация данных. Программную основу ввода-вывода составляют драйверы устройств.
Помимо ядра Linux включает набор утилит и вспомогательных программ, предназначенных для администрирования системы, обслуживания устройств, реализации дополнительных сервисов, разработки приложений и т.д. Особое место здесь занимают средства поддержки пользовательского интерфейса Linux, включающие как традиционные для UNIX-систем версии командного интерпретатора shell, так и графические оболочки (KDE, Gnome). Взаимодействие вспомогательных программ (так же, как и пользовательских приложений) с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов (API) представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определенной процедуры ядра, внешне похожего на вызов обычной библиотечной функции.
/bin содержит командные оболочки и основные утилиты
/boot ядро системы и основные загрузочные файлы
/dev псевдофайлы устройств компьютера
/etc файлы конфигурации системы
/etc/X11 файлы конфигурации графического сервера XFree
/home личные каталоги пользователей
/lib системные библиотеки
/mnt внешние файловые системы, такие как CD-ROM, floppy, разделы Windows
/opt программы сторонних разработчиков
/proc виртуальные файлы с информацией о текущем состоянии системы
/root личный каталог администратора системы
/sbin системные программы
/usr основной каталог для программ и библиотек
/usr/share/doc документация
/var рабочие файлы программ, очереди, журналы
/tmp временные файлы
Дата публикования: 2015-10-09; Прочитано: 1491 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!