1.1 Роль операционной системы (The Role of an Operating System)¶
Прежде чем начать, вы должны понять, какую роль играет Linux в компьютерной системе. Linux — это операционная система (operating system), а не приложение. Все операционные системы, включая Linux, выполняют в компьютерной системе пять ключевых функций:
- Платформа для приложений (Application platform). Операционная система предоставляет платформу, на которой могут выполняться приложения, управляя их доступом к процессору (CPU) и системной памяти.
- Посредник для аппаратного обеспечения (Hardware moderator). Операционная система также выступает посредником между выполняющимися приложениями и аппаратным обеспечением системы. Большинство приложений не написаны так, чтобы напрямую обращаться к аппаратному обеспечению компьютера. Вместо этого они включают заранее написанный код, который можно вызвать из приложения для доступа к аппаратному обеспечению системы — такому как память, жёсткие диски и коммуникационные порты. Эта особенность значительно облегчает жизнь программистам. Вместо того чтобы писать код для выполнения этих задач в каждой отдельной программе, они могут просто повторно использовать уже существующий код, предоставляемый операционной системой. Операционная система также управляет доступом к аппаратному обеспечению системы. Например, две из её ключевых задач — следить за тем, чтобы одно работающее в системе приложение не пыталось использовать память, уже занятую другим приложением, и чтобы приложения не потребляли чрезмерное количество процессорного времени.
- Хранение данных (Data storage). Операционная система также отвечает за предоставление эффективного и надёжного способа хранения информации. Обычно это делается с помощью некоторого устройства хранения, такого как жёсткий диск или флеш-память, отформатированного под определённый тип файловой системы, которая организует информацию в легко извлекаемом виде.
- Безопасность (Security). Операционная система отвечает за обеспечение определённого уровня безопасности данных, которые на ней хранятся. Системный администратор может создавать правила, определяющие, кто к какой информации может получить доступ.
- Связь (Connectivity). Операционная система управляет связью между компьютерными системами, используя различные сетевые носители и интерфейсы, включая Bluetooth, Ethernet, RS-232, беспроводную связь 802.11x (Wi-Fi), NFC и даже мобильный широкополосный беспроводной доступ.
Операционная система Linux состоит из следующих компонентов:
- Ядро Linux (The Linux kernel). Это сердце Linux (отсюда и его название). Ядро (kernel) — это собственно сама операционная система. Это компонент, который выполняет ключевые задачи операционной системы, только что перечисленные выше.
- Библиотеки (Libraries). Заранее написанные элементы кода, которые программисты приложений могут использовать в своих программах, что позволяет существенно сэкономить время. Библиотеки можно применять, чтобы добавить функциональность в приложение, не написав код с нуля.
- Утилиты (Utilities). Linux включает широкий набор утилит, которые можно использовать для выполнения задач управления операционной системой — таких как обслуживание файловой системы, редактирование текстовых файлов, управление выполняющимися процессами и установка новых программных пакетов.
- Пользовательский интерфейс (User interface). Конечному пользователю, разумеется, нужны какие-то средства для взаимодействия с операционной системой. Linux включает как интерфейс командной строки (CLI), так и опциональный графический интерфейс пользователя (GUI). Оба этих интерфейса мы рассмотрим в главе 2.