Глава 2. Краткий обзор Linux

В этой главе дается обзор операционной системы Linux. Прежде всего рассматриваются основные функции системы. Затем следует описание программ, реализующих эти функции. Цель главы - дать понимание системы в целом, поэтому каждый раздел рассматривается более подробно позже.

Различные части операционной системы

ОС UNIXсостоит из ядра и множества системных программ. Также имеются пользовательские программы или приложения. Ядро является основой операционной системы [1]. Оно размещает файлы на диске, запускает программы и переключает процессор и другое оборудование между ними для обеспечения мультизадачности, распределяет память и другие ресурсы между процессами, обеспечивает обмен пакетами в сети и т.п. Ядро само по себе выполняет только маленькую часть общей работы, но оно предоставляет средства, обеспечивающие выполнение основных функций. Оно также предотвращает использование прямого доступа к аппаратным средствам предоставляя специальные средства для обращения к периферии. Таким образом ядро позволяет контролировать использовние аппаратных средств различными процессами и обеспечивать некоторую защиту пользователей друг от друга. Средства, предоставляемые ядром, используются через системные вызовы (см. раздел 2 man-руководства для более подробной информации по этому вопросу).

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

Довольно часто операционная система содержит компиляторы и соответствующие им библиотеки (GCC и C библиотеки для Linux), хотя не обязательно все языки программирования должны быть частью операционной системы. Документация, а иногда даже игры, могут являться ее частью. Обычно состав операционной системы определяется содержимым установочного диска или ленты, хотя дело обстоит несколько сложнее, так как различные части операционной системы разбросаны по разным FTP серверам во всем мире.

Примечание

[1]

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