Глава 1. Введение
Не все знакомы с Fedora. В один из дней кто- то задал мне вопрос:
-
Студент: Что такое Fedora?
-
Я: Fedora это Linux.
-
Студент: Что такое Linux?
-
Я: Linux это операционная система.
-
Студент: Что такое операционная система?
-
Я: Она запускает компьютер.
-
Студент: Что такое компьютер?
-
Я: Компьютер помогает пользователям.
-
Студент: Кто такой пользователь?
-
Я: Это некий подобный мне пользователь.
-
Студент: Чёрт возьми, кто вы такой?
-
Я: Ну ладно, меня зовут. Йогеш Бабар. Последние десять лет я работал в Red Hat и мне нравится обсуждать как запускается операционная система.
Всем известно, что операционной системе требуется примерно от 20 до 30 секунд для загрузки. А потому зачем я написал книгу в 486 страниц о какой- то последовательности запуска в 30 секунд? Ответ прост.
-
В доступности нет никакого надлежащего документа/ статьи/ книги которые бы полностью поясняли последовательность запуска. Вы найдёте сотни хороших книг по операционным системам, но ни одна из них не о том как запускаются системы.
-
Вы способны решить проблемы с загрузкой только если вы знаете как ваша система запускается.
-
Если вы системный администратор и проходите собеседование, опрашивающие вас спросят как загружается Linux.
-
Проблемы "Can’t boot" всегда обладают наивысшей степенью серьёзности, поскольку по их причине падает вся промышленная система целиком. Когда система медленная, само производство всё ещё продолжается. Обладающий 10 000 пользователей сервер , который не способен загрузиться подразумевает что вся производственная система встаёт. Именно это определяет важность загрузки и, как я уже сказал, вы не сможете решать разрешать проблемы с загрузкой если не знаете как запускается система.
-
Понимание процесса запуска весьма занимательно.
-
Изучив всё это вы обретёте полное счастье.
Итак, что такое запуск, строго говоря? Технически говоря, весь процесс копирования необходимого ядра с имеющегося жёсткого диска в оперативную память и последующее исполнение носят название запуска (booting). Но это определение не вдохновит нас на изучение загрузки.
Я скажу это своими словами: мать это супермножество, а её новорожденное дитя - её част её. Точно так же некая операционная система выступает супермножеством, а загрузка является её подмножеством. Подмножество принадлежит своему супермножеству.
Теперь рассмотрим постулат: "Дитя порождает мать".
Технически говоря, это не верно, однако представим себе, что пока женщина вынашивает ребёнка, она просто женщина; в тот момент когда она получает дитя, женжина становится матерью. А потому дитя порождает мать.
То же самое происходит и с компьютерами. Тезнически запуск это часть некой операционной системы и сама операционная система обязана породить запуск, но всё наоборот. Именно запуск порождает свою операционную систему. Следовательно, мы можем сказать, что запуск это та процедура, которая даёт рождение некой операционной системе.
Данная книга поясняет саму процедуру запуска некой настольной или серверной системы на основе архитектуры x86 и она охватывает необходимую процедуру запуска различных операционных систем. В первую очередь она сосредоточена на глубоком анализе процедуры запуска Linux при вторичной фокусировке на рочих операционных системах, таких как Windows и Unix. Как вы знаете, имеется гигантское число дистрибутивов Linux. Некоторые из них предназначены для пользователей настольных систем, какие- то для корпоративных потребителей, а некоторые исключительно для игровых целей и ещё имеются доступными системы для пользователей, которые предпочитают подход сделай- всё- сам. Почти невозможно охватить абсолютно все последовательности запуска дистрибутивов. Следовательно, я принял решение выбрать в качестве первого дистрибутив Linux для корпоративных потребителей, и это RHEL (Red Hat Enterprise Linux).
RHEL основывается на Linux Fedora. Fedors является быстро меняющейся (шестимесячный цикл), в то время как RHEL это медленно движущийся дистрибутив (цикл выпусков составляет от двух до трёх лет). Это означает, что Fedora принимает все самые последние наработки так быстро, как только соответствующая команда QE (Quality Engineering) даёт им зелёный свет. Поскольку Fedora выступает испытательным стендом популярных корпоративных дистрибутивов Linux, всё доступное в Fedora в конечном счёте превращается в RHEL. Вот посему я выбрал Fedora для пояснения последовательности запуска Linux.
Всё начинается с того как вы наживаете на кнопку электропитания. После того как вы нажимаете на эту кнопку, электропитание подаётся на вашу материнскую плату. Эта материнская плата посылает сигнал вашей системе электропитания (SMPS? PSU), которая возвращает поддержку надлежащей мощности и, как результат, ваша материнская плата пытается запустить свой ЦПУ.
При запуске архитектуры ЦПУ на основе x86 очищаются все старые данные во всех имеющихся регистрах и старт начинается следующим:
IP 0xfff0
CS selector 0xf000
CS base 0xffff0000
0xffff0000 + 0xfff0 = 0xfffffff0
. Это то местоположение в памяти, в котором ваш
ЦПУ ожидает обнаружить самую первую инструкцию для исполнения. В этом месте содержится некая инструкция безусловного
перехода (jump), которая указывает на некую точку входа в BIOS. Иначе говоря, именно так запускается BIOS или ЦПУ стартуется
в BIOS/ встроенном программном обеспечении (ПО).
После этого, имеющееся встроенное ПО и начальный загрузчик выступают следующим этапом в данной процедуре запуска. Именно в этом и заключается задание имеющегося встроенного ПО запустить необходимый начальный загрузчик некой операционной системы. В своей следующей главе я обсужу то что происходит в самом встроенном ПО и как оно исполняет необходимы начальный загрузчик.
-
Сетевые протоколы для профессионалов безопасности, Йорам Орзач, Дипаншу Ханна, Packt Publishing, октябрь 2022
-
JavaScript для хакеров. Научитесь думать как хакер, Гарет Хейс, Leanpub, декабрь 2022
-
Как заниматься взломом словно легенда. Прорываемся в Windows, Спарк Флоу, No Starch Press, октябрь 2022
-
Управление оперативной памятью в реляционных системах баз данных, Педро Мехия Альварес, Марсело Леон Айяла, Сусана Ортега Сиснерос, Springer, август 2022
-
Атакующий код запуска оболочки с нуля, Ришалин Пиллэй, Packt Publishing, май 2022
-
Linux подсистема Windows (WSL) для профессионалов, Хайден Барнс, Apress, июнь 2021
-
Внутреннее устройство CPython, Энтони Шоу, Real Python, январь 2021
-
Контейнеры Linux и Виртуализация: с точки зрения ядра, Шашанк Мохан Джейн, Apress, октябрь 2020
-
Изучаем подсистемы Windows для Linux, Прэйтик Сингх, Apress, сентябрь 2020
-
Всё что требуется для RabbitMQ, 2е изд., Ловайса Йохансон, Дэйвид Доссо, Packt Publishing, август 2020
-
Практика загрузки. Изучение процесса загрузки Linux, Windows и Unix, Йогеш Бабар, Apress, июль 2020
-
Распределённые системы для практиков, Даймос Раптис, Leanpub, май 2020
-
Практическая автоматизация предприятия в Linux, Джеймс Фриман, Packt Publishing, январь 2020, Действенное выполнение крупномасштабной автоматизации инфраструктуры Linux с применением Ansible.
-
Внутреннее устройство баз данных, Алекс Петров, O`Reilly Media, Inc., октябрь 2019
-
Книга рецептов параллельного программирования Python. 2е изд., Джанкарло Закконе, Packt Publishing, сентябрь 2019
-
Полное руководство Ansible. 3е изд., Джеймс Фриман и Джесс Китинг, Packt Publishing, март 2019
-
Книга рецептов NGINX Дерек ДеДжонге, O’Reilly Media, Inc, ноябрь 2018
-
Полное руководство Ceph, 2е изд. Ник Фиск, Packt Publishing, февраль 2019
-
Docker для разработчиков Rails Роб Айзенберг, The Pragmatic Programmers, LLC., февраль 2019, с дополнениями по настройкам Django и 100Gb IB
-
Глава 11. SQL Server и контейнеры (включая Kubernetes) Боб Вордс, "Профессиональный SQL Server поверх Linux", Apress, октябрь 2018
-
Полное руководство параллельного программирования на Python Куан Нгуен, Packt Publishing, ноябрь 2018
-
Asyncio в Python 3 Цалеб Хаттингх, O’Reilly Media, Inc, март 2018
-
RabbitMQ для профессионалов Гайвин Рой, Manning Publications, сентябрь 2017
-
Proxmox. Полное руководство. 3е изд Васим Ахмед, Packt Publishing, ноябрь 2017
-
Книга рецептов Ceph, 2е изд Викхайят Умрао,Мишель Хаккет,Каран Сингх, Packt Publishing, ноябрь 2017
-
Изучаем Ceph, 2е изд., Энтони Д`Атри, Вайбхав Бхембре, Каран Сингх, Packt Publishing, октябрь 2017
-
Книга рецептов виртуализации KVM Константин Иванов, Packt Publishing, июнь 2017
-
Полное руководство работы с сетями на Python. Эрик Чоу, Июнь 2017
-
Контейнеризация при помощи LXC Константин Иванов, Packt Publishing, март 2017
-
Proxmox. Полное руководство. 2е изд., Васим Ахмед, Packt Publishing, май 2016
-
Книга рецептов Ceph Каран Сингх, Packt Publishing, февраль 2016
-
Полная виртуализация. Базовая коммерческая редакция: Proxmox-freeNAS-Zentyal-pfSense. Ли Р. Сюрбер, февраль 2016
-
Zabbix. Полное руководство. 2е изд., Андреа Далле Ваккье, сентябрь 2015
-
Книга рецептов Proxmox. Главы 1-6, Дополнения: Преобразование OpenVZ в LXC, Организация ограждения Васим Ахмед, Packt Publishing, август 2015
-
Изучаем Ceph Каран Сингх, Packt Publishing, январь 2015
Дополнительные ссылки:
-
Сетевые протоколы для профессионалов безопасности, Йорам Орзач, Дипаншу Ханна, Packt Publishing, октябрь 2022
-
JavaScript для хакеров. Научитесь думать как хакер, Гарет Хейс, Leanpub, декабрь 2022
-
Как заниматься взломом словно легенда. Прорываемся в Windows, Спарк Флоу, No Starch Press, октябрь 2022
-
Управление оперативной памятью в реляционных системах баз данных, Педро Мехия Альварес, Марсело Леон Айяла, Сусана Ортега Сиснерос, Springer, август 2022
-
Атакующий код запуска оболочки с нуля, Ришалин Пиллэй, май 2022
-
Ускоренное продвижение PowerShell: хакерство для не- программистов, Викас Сухиджа, ноябрь 2021
-
Книга рецептов автоматизации Windows Server при помощи PowerShell, 4е изд., Томас Ли, июль 2021
-
Linux подсистема Windows (WSL) для профессионалов, Хайден Барнс, Apress, июнь 2021
-
Изучаем подсистемы Windows для Linux, Прэйтик Сингх, Apress, сентябрь 2020
-
Active Directory Полное руководство. 2е изд., частичный перевод, Дишан Франсис, Packt Publishing, август 2019
-
Полное руководство Ansible. 3е изд., Джеймс Фриман и Джесс Китинг, Packt Publishing, март 2019
-
PowerShell и Python сообща - настроены на цифровые расследования Чет Хосмер, Apress, Октябрь 2018
-
Windows Server 2019. Полное руководство - 2е изд Джордан Краузе, Packt Publishing, март 2019
-
Docker для разработчиков Rails Роб Айзенберг, The Pragmatic Programmers, LLC., февраль 2019, с дополнениями по настройкам Django и 100Gb IB
-
Глава 11. SQL Server и контейнеры (включая Kubernetes) Боб Вордс, "Профессиональный SQL Server поверх Linux", Apress, октябрь 2018
-
Windows Server 2016 Administration Fundamentals Bekim Dauti, ISBN: 978-1-78862-656-9
-
Windows Server 2016 Hyper- V. Полное руководство, Джон Сэйвиль
-
SQL Server 2016 с высокой доступностью. Выпущенный на волю., Поль Бертуччи, Раджу Шривастава
-
Внутреннее устройство Windows, Часть 1, 7е изд., Павел Йосифович, Алекс Ионеску, Марк Э. Руссинович, Дэвид А. Соломон
-
Windows Server 2016 наизнанку, Оурин Томас
-
Exam Ref 70-743. Обновление ваших навыков MCSA: Windows Server 2016, Чарли Плута
-
Exam Ref 70-740. Установка, хранение и вычисления с Windows Server 2016., Крейг Заккер
-
Windows Server 2016 Hyper-V Книга рецептов. 2е изд, Патрик Лоундс, Чарбел Немном, Леанардо Карваль
-
Windows Server 2016. Книга рецептов, Джордан Краузе
-
Hyper-V 2016 Практический опыт. 2е изд., Бенедикт Бергер, Ромейн Серре
-
Zabbix. Полное руководство. 2е изд., Андреа Далле Ваккье
Дополнительные ссылки:
Перевод: Copyright © 2020 ![]() All rights reserved. Ссылки обязательны (Refs and links are obligatory). | http://www.mdl.ru портфолио SD DC |
HPE DL360 G10 since 4300$ |