ОСНОВНАЯ РАМКА: существительное. Устаревшее устройство по-прежнему используется тысячами устаревших компаний, обслуживающих миллиарды устаревших клиентов и приносящих огромные устаревшие прибыли своим устаревшим акционерам. И в этом году пробег в два раза быстрее, чем в прошлом году. (из словаря ИТ дьявола)
Ниже два раздела. Один на мейнфреймах, другой на программистах мэйнфреймов.
Первое, что вам нужно знать о мэйнфреймах, это то, что они предназначены для других целей, чем многие современные компьютеры.
Современные компьютеры основаны на скорости и мощности процессора. Иногда ПК зависает в цикле ожидания, а иногда даже падает.
Мэйнфреймы, с другой стороны, касаются надежности, доступности и удобства обслуживания (RAS).
Надежность. Это слово используется как в аппаратном смысле (они продолжают работать), так и в смысле данных (порча данных невероятно редка). Смотрите мои заметки ниже, ПОЧЕМУ это правда.
Доступность. Мэйнфреймы имеют так называемую доступность "пять девяток", что означает, что коэффициент "рабочего времени" мэйнфрейма равен 0,99999, или, говоря простым языком, мэйнфрейм может работать без остановок 24x7x365, поддерживая тысячи одновременных пользователей в течение всего года, и на него можно надежно рассчитывать. не быть "неработающим" более 5 минут в течение года.
Работоспособность. Мэйнфрейм состоит из множества специально разработанных схем, каждая из которых ориентирована на определенную задачу. Если какая-то часть начинает выходить из строя, проблема будет обнаружена автоматически, и другая цепь вступит во владение, и системный оператор будет уведомлен. Если неисправную цепь необходимо заменить, это обычно можно сделать, пока компьютер продолжает работать.
Современные компьютеры начинаются с универсального центрального процессора (например, серии x86), а программное обеспечение ОС написано с использованием существующих кодов ЦП. Но причина, по которой мэйнфреймы такие надежные, заключается в том, что аппаратное и программное обеспечение разработано совместно.
Если операционная система должна постоянно выполнять сложную задачу на ПК, то подпрограмма записывается и вызывается процессором, который выполняет всю работу. Но в мэйнфрейме - если спрос на него достаточно высок - иногда разрабатывается и устанавливается специализированная схема, предназначенная для этой задачи. Например, в некоторых современных мэйнфреймах существуют специализированные схемы только для шифрования и дешифрования данных, а другие - только для выполнения кода Java. Существуют также специальные схемы для общения с дисководами и принтерами, чтобы процессор не связывался с мелочами. И, конечно же, существует множество специальных схем, разработанных для предотвращения повреждения данных. В современном ПК все это выполняется процессором.
Самое близкое, что мы имеем к этому в ПК, это (1) математические сопроцессоры и (2) графические сопроцессоры, оба относительно современные изобретения для ПК, но мэйнфреймы делали такие вещи более 50 лет назад.
И последнее: наибольшая сила мэйнфреймов в том, как они используются, - это массовая параллельная обработка транзакций. Это способность единого мэйнфрейма взаимодействовать с десятками тысяч пользователей и / или другими системами одновременно. Подумайте обо всех этих точках продаж, которые есть у вашей дебетовой карты, практически в каждом магазине / бензоколонке / ресторане, где вы совершаете покупки. Все они обращаются к мэйнфрейму каждый раз, когда кто-то смахивает карту, и ответ возвращается обычно менее чем за секунду после поиска среди миллиардов записей.
Итог: если что-то не очень ОЧЕНЬ серьезно и неправильно (и даже в этом случае это обычно вызвано человеческой ошибкой), мэйнфреймы не зависают и не дают сбой. Данные, с которыми они работают, доступны быстро и точно. Их называют "большое железо" по уважительной причине.
См. Http://www.mainframes360.com/2009/06/what-is-mainframe-computer.html, а также http://www.wired.com/2015/01/z13-mainframe/ для получения дополнительной информации.
Вы также спросили о программистах, "поддерживающих" компьютер ...
У мейнфреймов есть два разных типа программистов. Первый вид - это то, к чему вы привыкли, программисты приложений. Это люди, которые пишут с использованием COBOL, C++ и JAVA для работы с базами данных, отчетами и тому подобным. Другие виды называются системными программистами, и их задача - поддерживать операционную систему и следить за оборудованием.
Устаревший код - это просто код, который был "унаследован" от предыдущих поколений программистов. Это хороший твердый код, который работает, и потому что он работает, компании, которые его используют, не будут заменять его "новым" кодом, который может содержать ошибки. Как и все программное обеспечение, случаются случаи, когда требуется время от времени изменять код, и для этого нужны программисты, специализирующиеся на устаревшем коде. Они знают эти старые языки и системы, и эти знания ценны для компаний, которые используют мэйнфреймы и другие виды старых компьютеров.
Каждый пользователь ПК имеет уникальную комбинацию приложений и оборудования. Тем не менее, Microsoft отправляет периодические "универсальные" обновления в Windows, и вы либо принимаете, либо отклоняете их. То же самое с некоторыми из различных дистрибутивов Linux. И иногда эти обновления вызывают проблемы, потому что они не работают с вашим оборудованием и программным обеспечением.
Мэйнфрейм похож на самолет, он зарабатывает деньги, когда работает, и теряет деньги, когда его нет. Мэйнфрейм невероятно дорогой, чтобы сидеть без дела или сбой из-за плохого обновления, и компании, которые управляют ими, не могут позволить себе "проблемы". Таким образом, у них есть системные программисты, чтобы предотвратить эти проблемы.
Задача системного программиста - анализировать обновления (исправления) ОС от IBM и тестировать их ПЕРЕД их установкой, чтобы убедиться, что они не вызывают проблем на этом конкретном компьютере. Они на самом деле изучают части исходного кода обновлений и сравнивают его с конфигурацией оборудования и программного обеспечения своей компании. При необходимости они будут работать с IBM, чтобы настроить обновление, чтобы оно работало безопасно с их уникальной системой.
Системный программист должен знать каждое установленное приложение и каждое подключенное оборудование. Он или она несет ответственность за все, что меняется в системе.
Это небольшая часть того, что делает системный программист, и типичный период обучения для опытного системного программиста составляет от 10 до 20 лет.
См. Https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zmainframe/zconc_sysprogrole.htm для получения дополнительной информации.