Ядро Linux, краткое описание оболочки

Linux

предисловие

  Как новичок, который только начал работать, после периода стажировки я обнаружил, что Linux действительно важен. Умение пользоваться Linux может не только повысить вашу производительность, но и стать крутым. Поэтому я решил систематически изучать Linux. . .

1. Оболочка: оболочка Linux

  Друзья, которые использовали систему Linux, должны были в большей или меньшей степени слышать об оболочке, но у нас может не быть четкого понимания оболочки.

1.1 Определение оболочки

  Шелл – этозаявление, программа со специальной функцией: онаПредоставляет интерфейс для взаимодействия пользователей с ядром. Все должны быть знакомы с прикладной программой.Это набор бинарных файлов на жестком диске.Выполнение приложения эквивалентно выполнению кода в бинарном файле. Что такое ядро? Я расскажу об этом позже. Взаимодействие относится к командам, которые мы вводим в Linux, чтобы заставить Linux выполнять такие действия, как:

输入ls , 代表展示当前目录下的文件/目录
# user @ user-computer in ~ [11:31:09]
$ ls
Desktop    Downloads  Movies     OpenSource Public     project
Documents  Library    Music      Pictures   maven      sh

  Из определения мы можем понять, что Shell — это приложение, которое позволяет вам общаться с операционной системой Linux.После того, как пользователь войдет в систему Linux, он будет передан в системную память для выполнения и может преобразовывать введенные пользователем команды в механические коды, которые компьютер может понять для выполнения ядром..

网图:权侵删

1.2 Краткое описание Shell

  Из моего предыдущего описания мы должны знать, что такое Shell. Но так же, как существует множество инструментов для чата, в Linux существует более одного приложения оболочки.Используйте команду cat /etc/shells для просмотра текущей оболочки в Linux:

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash 
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

 Сценарии bash очень эффективны, особенно при работе с автоматическими циклами или большими задачами, и могут сэкономить много времени. bash является оболочкой по умолчанию для многих платформ Linux. Я использую zsh, потому что он объединяет множество простых в использовании плагинов, таких как простые команды git, автодополнение кода и т. д., что больше подходит для слабых цыплят, таких как я, которые не могут запомнить команды. Команда для переключения оболочки Linux по умолчанию: chsh -s /bin/имя оболочки.

Shell — скриптовый язык, использующий интерпретируемое выполнение, естественно, его преимущества по сравнению с «интерпретируемым» типом:

  • Синтаксис и структура обычно проще
  • Проще учиться и использовать
  • без компиляции
  • Продуктивность разработки программ превосходит производительность
  • ...

  Что касается работы и принципа работы Shell, то я не буду здесь об этом говорить (на самом деле не буду~). Ранее мы говорили только о том, как общаться с Linux, но мы не знаем, как Linux понимает и обрабатывает эти команды. Ниже я объясню свое понимание ядра Linux от запуска QQ до отправки сообщений. Следующее содержание, краткое изложение обучения для компьютерщиков - «Интересная операционная система Linux», очень хорошая колонка, рекомендуется покупать и изучать!

2. Ядро: сердце Linux

  Так же, как отношения между человеком и сердцем,Ядро Linux — это не операционная система, а неотъемлемая часть целостной системы. Ядро Linux управляет основным аппаратным обеспечением операционной системы Linux и имеет множество функций, таких как управление файлами, памятью, многопоточностью, работой в сети и т. д.

  Поговорим о некоторых операционных связях в ядре Linux на примере открытия QQ.

1⃣️Подсистема оборудования

Подсистема оборудования, в основном система, управляющая системным оборудованием.. Подобно тому, как мышь и клавиатура являются устройствами ввода, видеокарты и мониторы являются устройствами вывода. Когда мышь перемещается, она перемещается на соответствующее расстояние на мониторе в соответствии с чувствительностью мыши. Ввод символа «а» на клавиатуре отобразит символ «а» в цели фокуса.

  Мы можем использовать существующее устройство, чтобы найти приложение QQ на мобильном телефоне и запустить его.

2⃣.️ файловая подсистема

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

3⃣️система управления процессами

  После того, как QQ будет установлен, давайте откроем его. Как упоминалось ранее: приложения хранятся на жестком диске в бинарном виде. Когда операционная система получает двоичный исполняемый файл QQ, она может запустить этот файл. Бинарный файл QQ статичен, называется программой (Program), а запущенный QQ непрерывен, называется процессом (Process).

Процесс не может быть запущен, требуется Linuxрасписание. Для запуска любой программы необходимо вызвать системный вызов для создания процесса. Выполнение процесса также требует выделенияCPUВыполнить, то есть выполнить по бинарному коду в программе, Итак, нам нуженсистема управления процессами(Подсистема управления процессами) для управления процессами. Иногда, когда приложение открывается слишком часто, оно зависает, что может быть связано с тем, что ЦП слишком поздно выполняет код процесса.

4 ⃣️Подсистема управления памятью

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

5⃣️Сетевая подсистема

 Когда вы общаетесь с другими пользователями QQ, вам необходимо отправить сетевой запрос на отправку текстового сообщения. Линукс пройдет ️сетевая подсистемадля управления отправкой и получением этих запросов.

Резюме и справка

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

  • «Программирование оболочки Linux от новичка до мастера»
  • Geek Time — «Интересный разговор о системе Linux» — Глава 3
Категории