Всем известно знаменитое произведение А.С.Пушкина «Пиковая дама». Германн (немецкая фамилия главного героя) узнаёт секрет выигрыша в карты от старой графини, если в один день поставить на «тройку», в другой день,- на «семёрку», а в третий день,- на туза.
Два дня Германн выигрывал, а в третий день ему вместо туза была выброшена Пиковая дама. Герман всё проигрывает и сходит с ума. Так отомстила Герману графиня после свой смерти.
Но у нас речь пойдет не об игральных картах, а об обыкновенных перфокартах.
Прочитать об истории возникновения перфокарт можно по адресу http://informat444.narod.ru/museum/1_17-8-1.htm
Когда я работал в конце 80-х, начале 90-х годов годов 20-го века (1979-1987 г.г.) в отделе АСУП завода ЛиАЗ, то тогда для производства вычислительных работ мы использовали вначале ЭВМ типа ЕС-1022. Наиболее известными тогда в мире были ЭВМ IBM-360 и машины серии ЕС разных типов и ,соответственно, разной мощности и производительности. Машины серии ЕС выпускались в странах социалистического содружества СЭВ.
Основным носителем для ввода данных в машину служили перфоленты и перфокарты. Потом обработка данных могла вестись на магнитных лентах и магнитных дисках.
Любую машина серии ЕС имела центральный пульт с рядом тумблеров и рядами лампочек.
Справа внизу на пульте была большая кнопка с надписью «Загрузка».
На пульте сначала выставлялся адрес устройства, с которого должна была быть осуществлена первичная загрузка данных.
При этом с указанного устройства начиналось считывание данных.
Инженеры довольно часто использовали кнопку перезагрузки, т.к. система часто сбоила.
Ничего не было удивительного, когда загрузка производилась с лентопротяжки или дисковода. Их номера устройств обычно были 280 и 130.
Устройство чтения перфокарт имело номер «ООС», устройство вывода данных на бумагу имело номер «00F» и так далее.
Удивительнее всего было наблюдать, когда инженеры ставили адрес загрузки с читалки, укладывали в лоток приёма перфокарт карты и нажимали кнопку «Загрузка».
Читалка начинала работать, захватывала одну за другой карты и вся машина (ЭВМ) приходила в движение. Что-то печаталось, обычно тесты для АЦПУ, ленточки вертелись, диски приходили в движение. Чудо, да и только. Но почему так происходило.
У инженеров было всегда 3 карты. Меняя карты местами они могли протестировать любое устройство.
Я решил разобраться, и вот что оказалось.
На перфокартах был набит машинный код. Две колонки пробивок соответствовали одному байту информации, а одна колонка кодировала одну 16-ую цифру.
Раскодируя машинные коды, я понял, что на первой перфокарте кода со смыслом, т.е. машинных команд всего 24 байта, т.е. 48 колонок. Остальные колонки набиты наобум для путаницы.
В этих 24 байтах содержится простая программа чтения и загрузки в память ЭВМ программы в машинных кодах с остальных считываемых перфокарт. Меняя данные об устройстве на первой перфокарте, можно протестировать это любое устройство ЭВМ или же запустить на исполнение любую другую программу с него с конкретного адреса, осуществить дальнейшую загрузку данных с любого другого устройства чтения.
Этот принцип, очевидно, работает и сейчас. В момент включения ПК происходит чтение первых 24 байт из загрузчика. Загрузчик прошит в ПЗУ ПК. Устройство, с которого надо произвести чтение дальнейших данных указывается в БИОС. С указанного устройства происходит чтение дальнейших программ, и так начинается запуск ОС