Тимур Машнин - Введение в облачные и распределенные информационные системы

Введение в облачные и распределенные информационные системы
Название: Введение в облачные и распределенные информационные системы
Автор:
Жанр: Книги о компьютерах
Серии: Нет данных
ISBN: Нет данных
Год: Не установлен
О чем книга "Введение в облачные и распределенные информационные системы"

Облачные и распределенные вычислительные системы – это быстро развивающаяся IT-область хранения и обработки данных.Современные облачные и распределенные вычислительные системы строятся на основе общих концепций и алгоритмов, таких как облако, MapReduce, NoSQL базы данных, распределенные алгоритмы, масштабируемость и многое другое.Познакомьтесь с этими фундаментальными понятиями облачных и распределенных информационных систем и узнайте, как эти системы работают изнутри.

Бесплатно читать онлайн Введение в облачные и распределенные информационные системы


© Тимур Машнин, 2020


ISBN 978-5-0053-0311-0

Создано в интеллектуальной издательской системе Ridero

Введение


Облачные и распределенные вычислительные системы – это быстро развивающаяся IT-область хранения и обработки данных.

И здесь мы попробуем сделать введение в эту большую тему облачных технологий и систем распределенных вычислений.

Сначала мы рассмотрим общие понятия, которые пригодятся при изучении этой темы.

Давайте обсудим две разные структуры данных.

Первая структура данных – это очередь.

Очередь, это структура данных, где первый зашел, первый вышел.



Когда вы удаляете элемент из очереди вы удаляете его из головы очереди.

Когда вы вставляете новый элемент, вы вставляете его в хвост очереди.

Другая структура данных, это стек, который является структурой данных, где первый зашел, последний вышел.

Представьте себе стопку тарелок на столе.



Тарелка, которую вы ставите сверху, вы добавляете последней, и она будет первой, которую вы можете удалить.

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

Говоря о процессах, давайте обсудим следующий процесс.

Процесс по существу, это программа в действии.



Этот примерный код состоит из основной функции, которая вызывает функцию f1.

А затем f1 вызывает другую функцию f2.

Это код вы должны скомпилировать и затем выполнить его.

И когда вы его выполняете, когда ваша программа находится в действии, это процесс.

После того, как вы напишете код, он не меняется, и мы не рассматриваем значения переменных как часть кода.

Сам код статичен.

Но существует программный счетчик, который обычно создается компьютером, на котором вы запускаете процесс, который указывает на номер строки кода, где выполняется программа в настоящее время, или скорее, где, процесс в настоящее время выполняется.



Далее, когда функции вызывают друг друга, или в объектно-ориентированной программе методы вызывают друг друга, они используют стек, который содержит аргументы и возвращаемые функциями значения.

Поэтому каждый процесс содержит стек.

Более конкретно, процесс может содержать несколько потоков.

И каждый поток будет содержать собственный стек.

В этом процессе есть только один поток.

Поэтому процесс содержит один стек, и этот стек используется этими функциями или методами, чтобы передать аргументы и вернуть значения.

Так, например, когда main вызывает f1, main внесет аргументы для f1, поверх стека.

И когда f1 начнет выполнение, она вытолкнет или удалит элементы из верхней части стека и будет использовать их для выполнения.

Точно так же, когда f1 вызовет f2, f1 разместит аргументы на вершине стека для f2, а затем f2 вытолкнет их из стека, выполнится, а затем поместит значения результата поверх стека.

f1 затем вытолкнет результат из стека.

И, наконец, когда f1 нужно вернуть значение, она внесет его в верхнюю часть стека.

И когда выполнение вернется к main, она удалит значение из верхней части стека.

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

И наконец, функции могут иметь локальные переменные, такие как x.

Там могут быть и глобальные переменные, и, конечно, в объектно-ориентированных программах, у вас есть объекты, которые хранят много полей.

Эти данные хранятся в том, что называется кучей.

Куча – это, по существу, данные, которые были созданы методами, или объектами.

И эти данные также появляются в куче и удаляются из нее в процессе выполнения программы.

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

Давайте посмотрим упрощенную версию компьютерной архитектуры.



Здесь есть процессор, который выполняет инструкции, которые присутствуют в вашем коде.

Также есть регистры, которые расположены вместе с процессором.

Это небольшие части памяти, к которым CPU можно быстро получить доступ.

И как правило, существует только небольшое количество регистров, не более нескольких десятков регистров.

Также есть кеш, который является немного большей памятью, чем набор регистров.

И чем больше память, тем медленнее доступ к ней.

Таким образом, доступ к кешу медленнее доступу к регистрам.

Но доступ к кешу все еще довольно быстрый.

Помимо кэша также есть основная память, или Random Access Memory, или RAM, которая еще больше, чем кеш, а, следовательно, медленнее, чем кеш.

И, наконец, есть жесткий диск, у которого намного больше памяти, чем у основной памяти, и доступ к ней еще медленнее.

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

И когда вы пишете программу и компилируете ее, она компилируется в машинные инструкции низкого уровня.

Эти машинные инструкции могут быть специфическими для архитектуры машины, на которой вы работаете, или они могут быть кодом для виртуальной машины, как, например, виртуальной машины JVM.

В любом случае, эти низкоуровневые машинные инструкции являются исполняемой версией вашей программы, и они сохраняются в файловой системе на вашем диске.

Когда ваша программа начинает выполняться, когда она становится процессом, тогда CPU загружает инструкции их в основную память, а затем в кеш и в регистры.

И как правило, кэш и регистры содержат последние несколько обработанных инструкций.

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

И если есть какие-то изменения, которые происходят с такой переменной, как x, тогда они сохраняются сначала в кеш, а затем в основную память.

Это конечно очень упрощенная картина.

Компьютерные архитектуры могут быть гораздо более сложными, чем эта.

Но чтобы понять, как работают процессы этого достаточно.

Теперь давайте обсудим несколько отвлеченных тем, относящихся к веб приложениям.

Давайте обсудим, что такое DNS.

DNS – это система доменных имен.



Это набор серверов, которые расположены по всему миру, и, DNS очень важен для работы в Интернете.

Как правило, вход в DNS-систему – это URL-адрес.

URL-адрес – это имя, это читаемая пользователем строка, которая уникально идентифицирует объект.

И обычно, когда вы открываете свой браузер, вы вводите URL-адрес, и ваш браузер связывается с DNS-системой и, дает DNS-системе имя этого URL-адреса.

Что возвращает DNS в ваш браузер?

Он возвращает IP-адрес веб-сервера, на котором размещается этот контент, так что ваш браузер может затем может отправить запрос на этот IP-адрес и получить фактическое содержимое этой веб-страницы.


С этой книгой читают
Создание пользовательских индикаторов и советников для торговой платформы MetaTrader 5 с использованием языка программирования MQL5.
Bootstrap представляет собой свободный фреймворк интерфейсов для быстрой и простой Web разработки. Bootstrap предоставляет шаблоны дизайна, основанные на HTML и CSS для разметки, форм, кнопок, таблиц, навигации, диалоговых окон, каруселей изображений и многого другого, а также дополнительные плагины JavaScript. На основе Bootstrap можно легко создавать сайты с «отзывчивым дизайном», одинаково хорошо выглядящие на всех типах устройств, от небольши
В многопроцессорных системах многопоточность решает проблему параллельного выполнения кода с наименьшими затратами.Поэтому многопоточность используется в большинстве реальных приложений.И Java, как и большинство языков программирования, поддерживает многопоточность.Познакомьтесь с реализацией процессов и потоков в Java, с управлением и синхронизацией потоков.Узнайте о пуле потоков, потокобезопасных коллекциях, синхронизаторах и параллельных поток
Эта книга предназначена для тех, кто хочет научиться программировать на языке Java.С этой книгой вы обучитесь объектно-ориентированному программированию на платформе Java SE и научитесь применять принципы ООП на практике.Эта книга охватывает важные аспекты программирования на языке Java, начиная с основ и заканчивая объектно-ориентированным подходом и командной разработкой кода.
Веселый и интересный самоучитель работы на компьютере, оснащенном новейшей операционной системой Windows Vista. В ходе непринужденной беседы с читателем автор научит «укрощать» программы, настраивать и защищать компьютер. Изучение тонкостей ПК не потребует специальной подготовки и знания компьютерных терминов. Для всех, кто побаивается компьютера, но хочет или вынужден на нем работать.
Возможности современных программ и компьютеров, а также их относительная доступность по цене позволяют выполнять серьезную работу по обработке звукового материала – в том числе и профессиональную – не только на специализированной звуковой рабочей станции в студии звукозаписи, но и на персональном компьютере, в домашней студии.В книге, которую вы держите в руках, рассмотрены основные методы обработки звука при помощи персонального компьютера, совм
Компьютерное видео многолико: это и просмотр телепередач, и цифровые видеофильмы, и системы безопасности. В предлагаемом издании освещаются почти все аспекты данной области современных технологий – от начальных этапов оцифровки до ретуши полученных кадров и от простейших плат захвата кадра до систем нелинейного монтажа. Цель книги – дать возможность любому, даже неискушенному пользователю самостоятельно выбрать, установить и настроить необходимые
В книге рассматривается влияние информационных технологий на различные сферы человеческой деятельности: экономику и бизнес, движение денег и организацию связи, промышленное производство и сельское хозяйство, т. е. влияние информационных технологий на весь окружающий человека мир. Каждую главу данной книги можно читать отдельно, что позволяет сосредоточиться на наиболее интересных вопросах.
Почти у всех хоть раз в жизни болела спина. У офисных сотрудников спина ноет часто. А у многих поясницу или шею ломит так, что приходится постоянно ходить к врачам. И если не сразу обратиться к специалистам, то недуг может перерасти в хроническую форму… Чтобы не запустить ситуацию, автор предлагает воспользоваться разработанными им оздоровительными программами.В книге петербургского врача Олега Асташенко представлены комплексные программы по лече
Вы хотите вырастить своего ребенка самостоятельным и ответственным человеком, который не боится сложностей и умеет решать проблемы, сможет взять на себя инициативу и превратит свою жизнь в увлекательное приключение?С помощью инструментов на базе ТРИЗ – теории решения изобретательских задач, описанных в книге, ребенок учится: полнее воспринимать и описывать окружающий мир; фантазировать и ставить мысленные эксперименты; выявлять и самостоятельно р
"Как стать логистом" – книга, в которой собрана сочная выжимка всех основных знаний, которые просто необходимы логисту в начале карьеры. В ней – никакой воды, там собран многолетний опыт логиста-практика с личными примерами и конкретными рекомендациями. Автор книги, Камиль Баймухаметов – бизнес-консультант, антикризисный управляющий, создатель нескольких курсов, долгое время работал в "Делко" – одной из крупнейших транспортных компаний России.
Данная методичка предназначена для студентов-медиков. В ней собраны самые основные темы курса, в которых студент сможет разобраться без проблем. В данной методичке присутствуют темы как из общей неврологии, так и из частной.