Перейти к содержанию

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.