Облачные и распределенные вычислительные системы – это быстро развивающаяся IT-область хранения и обработки данных.
И здесь мы попробуем сделать введение в эту большую тему облачных технологий и систем распределенных вычислений.
Сначала мы рассмотрим общие понятия, которые пригодятся при изучении этой темы.
Давайте обсудим две разные структуры данных.
Первая структура данных – это очередь.
Очередь, это структура данных, где первый зашел, первый вышел.
Когда вы удаляете элемент из очереди вы удаляете его из головы очереди.
Когда вы вставляете новый элемент, вы вставляете его в хвост очереди.
Другая структура данных, это стек, который является структурой данных, где первый зашел, последний вышел.
Представьте себе стопку тарелок на столе.
Тарелка, которую вы ставите сверху, вы добавляете последней, и она будет первой, которую вы можете удалить.
Эти две структуры данных, очередь и стек, используются очень широко в информатике, и мы будем использовать понятие стека, когда мы будем обсуждать процессы.
Говоря о процессах, давайте обсудим следующий процесс.
Процесс по существу, это программа в действии.
Этот примерный код состоит из основной функции, которая вызывает функцию f1.
А затем f1 вызывает другую функцию f2.
Это код вы должны скомпилировать и затем выполнить его.
И когда вы его выполняете, когда ваша программа находится в действии, это процесс.
После того, как вы напишете код, он не меняется, и мы не рассматриваем значения переменных как часть кода.
Сам код статичен.
Но существует программный счетчик, который обычно создается компьютером, на котором вы запускаете процесс, который указывает на номер строки кода, где выполняется программа в настоящее время, или скорее, где, процесс в настоящее время выполняется.
Далее, когда функции вызывают друг друга, или в объектно-ориентированной программе методы вызывают друг друга, они используют стек, который содержит аргументы и возвращаемые функциями значения.
Поэтому каждый процесс содержит стек.
Более конкретно, процесс может содержать несколько потоков.
И каждый поток будет содержать собственный стек.
В этом процессе есть только один поток.
Поэтому процесс содержит один стек, и этот стек используется этими функциями или методами, чтобы передать аргументы и вернуть значения.