Яка з цих назв вам знайома ? БЭСМ, PRIMUS, АЛМИР, RTE-II, RSX-11, RAFOS, RT-11. Назви незнайомі ?
То почитайте, і пам’ятайте, що це лише історія. Малесенький кусочок історії.
Вдалось мені деякий час підробляти читанням освітніх лекцій про комп’ютери. Мій підробіток тягнувся недовго, лише півроку. За цей час мені набридло розказувати про основи комп’ютерної техніки якимось невідомим мені, лінивим і байдужим людям, яких погнали на ці курси “щоб знати комп’ютер”. Люди працювали в своїх організаціях на якихось своїх посадах, а тут їх заставили ввечері, після роботи йти на наші лекції, і кожен вечір вислухати цілу лекцію, аж потім йти додому.
Про що ми їм розказували ? Здогадатись не важко: ось є Windows, мишка, клавіатура, а ось і Word, щоб набирати текст, а ще є Excel, це ще важче, ніж будь-який Word. А ось так ми перетягуємо об’єкти з одного місця на інше, а ось так їх можна засунути в кошик.
За всі півроку один-єдиний раз знайшлась людина, яка мене запитала:
– Чи є якісь програми для створення інших програм, і чи будемо ми знайомитись з такими програмами ?
Після запитання, яке я почув від цього чоловіка, мені захотілось читати лекцію лише йому, і розмовляти лише з ним. А з часом я не витримав, і покинув ці лекції.
Щоб ви провалились, ці слухачі і ці лекції !
Створити нову програму. Бажання хороше і похвальне.
Хто хоче навчитись програмувати, нехай вчиться, я його морально підтримую. Зараз в школах діти злегка знайомляться з мовами програмування, а в вищих учбових закладах навіть злегка вчаться програмувати. Навіть злегка вивчають JAVA, а до нього злегка знайомляться із страшним PHP. Я хочу лише згадати і розказати вам свій особистий кусочок історії. Не шкодую за минулим, і згадую без ностальгії.
На чому ми програмували ? І як ми це робили ?
Хтось, прочитавши статтю, може здивуватись: невже це могло бути ? Так, це могло бути, тому що було. Просто пригадую.
Ах, яким приємним був серпень 1974 року ! Він був справді приємним, бо мені вдалося поступити в Київський політехнічний інститут, а для повної назви інституту в ті часи додавалось “імені 50-ліття Великої Жовтневої соціалістичної революції”. Якщо вдуматись, абсолютно ідіоська назва: інститут “імені 50-ліття певної події”. Мабуть, грандіозно святкували це 50-ліття, що це святкування перетворилось на окрему видатну історичну подію.
Така була назва, чорт з нею. Далі нас, першокурсників, цілий рік нас згинали математичним аналізом, фізикою, хімією, історією Комуністичної партії Радянського Союзу, нарисною геометрією і кресленням, ми щось переливали з одної пробірки в іншу на практичних заняттях з хімії, ми ручним молотом виковували справжню, нікому не потрібну гайку на дивному “металознавстві”, ми на тому металознавстві розпікали металеві маленькі циліндрики до яскраво-білого кольору, а потім робили з ними якісь незрозумілі експерименти, секрет яких, можливо, не знав навіть сам викладач, ми ті металеві зразки розривали, ламали, стискали, ми добросовісно бігали, стрибали і плавали на фізкультурі, і ще хто зна що вивчали, ми по місяцю, як правило, в вересні чи жовтні, примусово збирали врожай на полях України, а вже на другому курсі навчання пішло для мене трохи цікавіше.
Нас почали знайомити з комп’ютерною технікою.
До речі, за всі роки навчання в КПІ ми ні разу не почули слова “комп’ютер”, це слово у нас не існувало і було не потрібним. Той величезний пристрій, який проводив обчислення, ніхто (НІХТО !) не називав комп’ютером, його називали “електронно-обчислювальна машина”, а частіше називали просто “машина”.
Машина вже тоді була персональною. В кожний конкретний момент лише один студент “сидів за машиною” і пробував якось запустити свою коротеньку програму. Ми вважали ці “машини” могутнім і швидким обчислювальним механізмом, адже з моменту створення (або копіювання американського аналогу) першої обчислювальної машини в СРСР пройшло вже 25 років. Саме так, адже перша в СРСР ЕОМ запрацювала приблизно в 1950 році. Що це була за машина ?
Швидкість “машини” – приблизно 15-20 операцій за секунду.
Об’єм пам’яті для програми – 256 слів, кожне слово – 25 двійкових розрядів, тобто кожне слово – аж три байти, і ще оперативної пам’яті 256 слів.
На цю “машину” пішло 730 електровакуумних ламп, за відсутністю дуже потрібних і корисних транзисторів.
“Машина” була зібрана в одному екземплярі.
Нам трошки розказали про історію обчислювальної техніки в СРСР, і ми, студенти, дивувались, як пішла техніка вперед за якихось 25 років. Уявіть собі, на нашій кафедрі була “машина” із об’ємом пам’яті для програм аж 4096 байт (увага, БАЙТ, а не МЕГАБАЙТ), і оперативної пам’яті також немало, але наша “машина” не була останнім словом техніки в СРСР.
Були машини і серйозніші. В корпусі КПІ під номером 13 стояла справді здоровенна “машина” БЭСМ-4М (“большая электронно-счетная машина”), це справді була машина колективного користування, не якась там персоналка. В корпус 13 не можна було просто так зайти, “бо там стоїть машина”, і вхід лише у визначений час, зі своєю групою. Кожен студент на перфокартах набивав свою програму на мові “ФОРТРАН” в перфораційному залі, пакет зі своїми перфокартами загортав в газету, зверху писав назву групи і прізвище і “здавав на обчислення”. Вже за тиждень можна було разом з перфокартами отримати великий паперовий кусок “распечатки” і, якщо в програмі не було помилок, то на “распечатці” був навіть результат обчислень, а при найменшій помилці замість результату був “лістинг”, цим магічним словом називався тест програми із відміченими компілятором помилками.
Перфокарти. Кожен рядок програми – одна перфокарта. Якщо хочеш видалити цей рядок з програми – викинь перфокарту. Якщо хочеш між двома рядками додати ще один рядок – набий цей рядок перфоратором на перфокарті і встав цю перфокарту між двома потрібними перфокартами. Хочеш змінити рядок – викинь стару перфокарту і набий нову.
Це називалось “редагувати програму”. А ви думали, що редагування програми завжди йшло з допомогою текстового редактора, який вам люб’язно надав “Borland” чи “Microsoft” ?
Перфокарти набиваються в перфораційному залі на перфораторах. Сидиш за перфоратором, заклав в нього перфокарту, і з кожним натисканням на клавіатуру чуєш важкий силький удар, це перфоратор вибив на перфокарті кілька дірочок.
Ось, знайшов фото якогось залу з перфораторами.
А помилки перфораторів ! Перфоратор робив більше помилок, ніж сам програміст. Набивши кожну перфокарту, на зворотній стороні пишеш вручну текст того самого рядка, який ти набив на перфокарті. Це дуже допомагає, якщо пачка перфокарт випаде з рук і розсиплеться.
Прогрес в ті часи помаленьку рухався вперед, хоча в СРСР рухався дуже повільно. Замість неймовірно гучних перфораторів, які до того ж робили кучу помилок, встановлювались нові, тихенькі перфоратори, які ще й друкували зверху на перфокарті той рядок, який ти на цій перфокарті набив. Цивілізація !
Не лише на перфокартах набивали студенти свої програми, для деяких факультетів підготовка програм йшла на перфострічці. Кожен студент сидів біля (ви не повірите) біля справжнього телеграфного апарата, лише набивав не телеграми, а свою програму. Програма набивалась на 5-дорожечній паперовій перфострічці (існували також дефіцитні перфострічки на лавсані), і набраний текст був справді засекречений від самого програміста, доки не роздрукуєш цю перфострічку на телеграфному апараті. Телеграф бив цей текст не на звичайному листку паперу, а на тонесенькій вузесенькій паперовій стрічці.
Бачите Дзержинського, який щось читає Леніну з телеграфної стрічки ? Ось на таких тонесеньких стрічках ми бачили текст власних програм.
Мушу відволіктись. Найбільш молоді читачі можуть мене запитати: що за дивні “телеграфні апарати” і що за дивні “телеграми” ? Із задоволенням розкажу.
Подивіться на приміщення будь-якої пошти. На вивісці так і написано: “Пошта”. Справа в тому, що колись на пошті традиційним був інший надпис: “Телеграф пошта телефон”. Навіщо на пошті потрібен був телеграф і телефон ?
Дуже потрібен ! Хочете ви, наприклад, поговорити з приятелем, який живе в іншому місті, або селі ? Нема проблеми ! Ви йдете на пошту і замовляєте телефонну розмову, наприклад, на післязавтра, а вже завтра вашому приятелю принесуть додому телеграму на стандартному бланку, і на телеграмі буде написано: “ПРИГЛАШАЕТЕСЬ ТЕЛЕФОННОМУ РАЗГОВОРУ СЕЛО ЗАПЕРТЮЕВКА ПЕТЬКА 18.00”. Якщо вчасно прийдете на свою пошту, і приятель також прийде на свою, то зможете, почекавши деякий час, поговорити замовлену кількість хвилин.
А що, телефона ні у вас, ні у приятеля не було ? Не було. Моя сім’я, наприклад, після одержання квартири чекала на телефон 14 років. Добре, що з самою квартирою нам тоді пощастило !
Телеграмами користувались і для будь-якого іншого випадку, адже SMS не надішлеш, за відсутності в світі, а особливо в Радянському Союзі доступного мобільного зв’язку, і самих SMS.
Коли доступна така телеграфна стрічка і стандартні телеграфні бланки, стільки цікавих і дурних жартів можна придумати, кидаючи в поштові скриньки різноманітні жартівливі псевдо-телеграми !
Відволікся. Продовжую. Ми навчалися в КПІ, а прогрес, хоча й помаленьку, але рухався вперед. В “операційному залі”, чомусь саме так його називали, встановили кілька десятків “телевізорів”, і студенти, які були на кілька курсів молодшими від нас, вже не набивали перфокарти, а сиділи “за телевізорами” і набирали свої програми так само на “Фортрані”, але не на перфокарти, а кудись “відразу в пам’ять”. Дивно, але курс “програмування” для абсолютної більшості студентів не передбачав детального ознайомлення з апаратною частиною “машини”, так що про якісь “накопичувачі” на якихось “дисках” більшість студентів не підозрювала. Програма “набивається в пам’ять”, далі студентам знати не треба.
Чому студенти сиділи “за телевізорами” ? Так, назва “монітор” прижилась пізніше, спочатку монітор називали “телевізор”, і все це добро обслуговувалось багатозадачною операційною системою ““PRIMUS”“.
Невже писати програми, сидячи за цим “телевізором”, було значно легше ? Не дуже.
Ви не повірите, але навіть сидячи біля “телевізора” і редагуючи свою програму, студент дуже погано бачив текст своєї програми. Чи не пишу я якийсь маразм ?
Маразму немає, а от “строчний редактор” був. Вибираєте якийсь рядок своєї програми і його редагуєте, але бачите лише той рядок, який редагуєте. Може, хочете перейти на кілька рядків вниз ? Нема проблеми, тепер ви бачите той рядок, який на кілька рядків вниз, інші не бачите. Можна також додати рядок після того рядка, з яким працюєте, можна видалити ту кількість рядків, яку захочете. Працюєте з одним рядком, а не зі всім екраном. Зрозуміло, що цей горе-редактор міг показати вам певну кількість рядків вашої програми, без можливості оперативно відредагувати. А тоді знову вибираєте потрібний вам рядок, і його редагуєте.
От таке нещастя, під назвою “строчний редактор”. Зараз такий анахронізм називають “консольний діалог”, тобто робота не зі всім текстом, а з одним рядком тексту.
А коли з часом дістали і запустили справжній “екранний редактор”, щоб рухати курсор по всьому екрану, і редагувати, що заманеться, це вже було просто шикарно !
Хоча навіть це було не дуже шикарно. Працюєш хвилин 5-10, і тут “телевізор завис”. Знайшов лаборантку, попросив “перезапустити”, та й редагуєш програму з початку, бо, звісно, “зберегти не встиг”.
Цікаво, а що кажуть про ту техніку сучасні писаки ? Почитаємо !
Цитата: “С.А. Лебедев самостоятельно переоткрыл и сформулировал принципы фон Неймана, лежащие в основе любого современного компьютера.”
Просто чудово ! Взяв, і перевідкрив принципи фон Неймана. Може, мені взяти і перевідкрити закон Ома ? Або закон всесвітнього тяжіння ?
Цитата: “вычислительная задача для системы ПРО, которая и сейчас внушает уважение: время реакции системы на сигнал от радиолокаторов не должно было превышать десятой доли секунды ! Американцы смогли повторить наш успех лишь спустя 23 года.”
Чи має якийсь розум той, хто таке написав ? Коли вся наша обчислювальна техніка була лише погіршеною копією американської, комусь хочеться доказувати самому собі, що американці досягли того ж самого через 23 роки.
Я ще не згадав про передове слово техніки, яке вводилось в дію саме тоді, коли навчався в інституті. Це “могутні і передові, і розроблені в Радянському Союзі” обчислювальні комплекси ЕС ЭВМ (единая серия электронно-вычислительных машин). От тільки програмувати цей комплекс ми вчились по книзі К. Джермейна “Программирование на IBM/360”. Ми тут в Союзі розробляємо саме передове, а Джермейн давно вже й книгу про це написав, а ми переклати книгу на російську мову, та й читаємо. Вчимось по цій книзі.
Передове чи не передове, а сімейство машин БЭСМ – це погіршена копія ILLIAC-IV, а машини серії ЕС ми передирали із IBM.
Хто хоче заперечити і сказати, що “в Радянському Союзі…. обганяли… краще ніж… американці пізніше…” чи ще якісь подібні дурниці, тих зупиняю одною простою фразою, ось вона:
Немає в світі ні одної мови програмування високого рівня, яка була би написана “типа по-русски”, всі ці мови мають англійську основу. Та навіть асемблера “російськомовного” немає. Вся вітчизняна обчислювальна техніка копіювалась із американських аналогів, тому й програмне забезпечення англомовне.
Про цікавий виняток скажу окремо. Навіщо щось приховувати ?
Ох, і великі ці “машини”, на яких ми працюємо. Таку здоровенну “машину” просто так в розетку не ввімкнеш, споживання електроенергії дуже велике. Особливо громіздкі “машини”, в першу чергу БЭСМ, мали потужний перетворювач напруги 220 Вольт на напругу 220 Вольт.
Ні, помилки немає. Напруга живлення 220 Вольт з допомогою потужного електродвигуна і генератора змінного струму перетворювалась на напругу 220 Вольт, але дуже синусоїдальну, якісну, без додаткових гармонік і імпульсних перешкод. “Машина” бажала саме таке якісне живлення. Скільки часу тривав “запуск машини” ? Якщо пощастить, можна було запустити за 15-20 хвилин. Блоки “машини” треба було за інструкцією вмикати в певній послідовності, бо інакше не запуститься, або щось згорить. Кожен блок за розмірами приблизно такий, як шафа для одягу, але трохи товстіший. Якщо вимикати в неправильній послідовності, це не вигадка, також щось може згоріти.
“Машина” споживає значну кількість електроенергії, тому в “машинному залі” дуже спекотно, навіть значна кількість кондиціонерів не рятує від спеки. Колосальна кількість охолоджуючих вентиляторів, вони створюють такий шум, що важко знаходитись в машинному залі довгий час. Стіни покриті спеціальними плитами із тисячами дірочок, для зменшення шуму.
В вільному світі навіть такі “обчислювальні носороги” об’єднувались в перші “обчислювальні мережі”, але в Союзі цього не було. Кожна “машина” стояла, наче Красноярська ГЕС серед пустелі, ефективність використання тої обчислювальної техніки була дуже низькою.
Я ж казав, що розкажу трохи про виняток із загальної закономірності, і не забув про свою обіцянку. Адже дещо ми справді зробили самі, навіть без американців. Американці і не пробували таке копіювати, це наводить на думку, що ми зробили якусь дурницю, але це було зроблено, а не зкопійовано. Я такою технікою користувався, навчаючись в КПІ, і з задоволенням розкажу вам.
Подивіться, яка персоналка. Персоналка не стїть на столику. Все, що ви бачите, і є “персоналкою”.
“МИР” – це не тому, що “мир во всем мире”, “МИР” – це “Машина для Инженерных Расчетов”.
Програмувалась ця машина на алгоритмічній мові, яка ніколи і ніде і ніким більше не копіювалась, ця алгоритмічна мова називалась “АЛМИР“. Формально, вона називалась “АЛМИР-65“.
Текстовий об’єм програми не міг перевищувати 4 кілобайти (я написав “кілобайти”, а не “терабайти”), і можу сказати, що це тоді було для нас немало.
Мікросхем в цій машині не було, вона була зібрана на транзисторах. Ось ті три секції, що справа, були повністю напхані величезними, товстими електронними платами.
Алгоритмічна мова цієї машини АЛМИР була повністю російськомовна, як російсьмовні “донецькі” в своєму Донецьку. Наприклад, оператор безумовного переходу так і називався: “НА” а далі мітка, куди потрібно НА. Легко здогадатись, що оператор умовного переходу називався “ЕСЛИ” умова “ТО” потрібна дія “ИНАЧЕ” інша дія.
Програму можна було вводити з перфострічки, або набивати на друкарській машинці “Soemtron“, ви бачите її на фотографії. Назва “консоль” для друкарської машинки, а потім для дисплея, з’явиться і приживеться трохи пізніше.
Налагоджену програму можна було вивести на перфострічку, перфоратор ви бачите зліва внизу.
Компілятор, аналізуючи програму, знаходив лише першу помилку, і ігнорував всі інші, доки не виправити цю помилку. Програму можна було редагувати ! Досить було написати:
“ВМЕСТО” такого зразка “ЗАПИСАТЬ” інший зразок. Всі оператори можна було скорочувати, наприклад, “ВМ” …. “ЗАП” …..
Вже через багато років прочитав видатний секрет. Весь “розроблений” АЛМИР є русифікованою копією ALGOL. Буває !
Якщо програма для “МИР-1” не мала помилок і запускалась на виконання, налагоджену програму вже неможливо було зберегти на перфострічці, після виконання програми вивід на перфострічку чомусь не діяв. Я підозрюю, що наші викладачі пропустили якийсь секрет, тому і ми не могли знати цей секрет виводу на перфострічку.
Працювали на цій машині стоячи, бо якщо сісти на стілець, то друкарська машинка буде трохи зависоко. Досить значна кількість вентиляторів, які охолоджували машину, створювала навіть не шум, а досить голосне ревіння. Люди, які в цей момент знаходились в примішенні, але виконували якусь іншу роботу, дуже хотіли, щоб той, хто зараз “працює на машині”, як можна скоріше звідси згинув.
З якою ж розрядністю рахувала ця машина ? З якою захочете. Можна було встановити навіть кілька сотень десяткових знаків після коми, ніяких проблем. Будь-яка розрядність ! Компілятор передбачав всі необхідні тригонометричні і алгебраїчні функції, були навіть команди “ВЫВ””ТАБЛ” і “ВЫВ””ГРАФ”, так що без проблеми можна хоч примітивну таблицю, хоч примітивний графік.
А покращений варіант машини, під назвою “МИР-2”, навіть міг аналітично вираховувати інтеграли і диференціали. Я сам користувався такою можливістю при підготовці розрахункових робіт по математичному аналізу. Через свою хитрість так і не вивчив, “як брати інтеграли”, потім з трудом екзамен здав.
А як швидко рахувала ця машина ? Важко сказати, бо задачі були лише невеличкі. Коли для курсової по ТОЕ треба було розрахувати спектр деякого сигналу, я пам’ятаю, що чекав кілька хвилин. Але саме цікаве те, що швидкість рахування в цій машині була величиною змінною.
Доведеться пояснити. Сучасні електронщики можуть і не вивчати таку архаїчну особливість, що цифрова логіка може працювати “в режимі заданого струму” або “в режимі заданої напруги”, і що “в режимі заданого струму” завжди швидше, і більша витрата електроенергії. Логіка машини “МИР-1” працювала “в режимі заданого струму”, і якщо підкрутити в більшу сторону живлення (а блок живлення знаходився внизу справа під друкарською машинкою), то машина починає працювати значно швидше, але якщо засильно підняти живлення, машина починає робити помилки.
Все старіє і замінюється на нове, і з часом ці “персоналки” були перевезені для роботи в гуртожитках, а вже потім викинуті.
Техніка йшла вперед. Тепер наші студенти замість “МИР-1” і “МИР-2” почали користуватись передовою М-6000, яка була встановлена на нашій кафедрі. А до неї аж п’ять терміналів.
На фото якась чужа M-6000, не наша, але наша була така сама. Ротаційний друкувальний пристрій (АЦПУ, алфавитно-цифровое печатающее устройство) б’є до 10 рядків на секунду, так що паперу йде багато. Ще не було назви “принтер”, не було звичної назви “дисплей”, але назва “телевізор” помаленьку змінилась на назву “термінал”.
Це вже круто ! Об’єм оперативної пам’яті у машини вже 64 кілобайти (нагадую: кілобайти, кілобайти), а також величезні 2 мегабайти на диску (дисковий накопичувач “ИЗОТ-1370“, на загальному фото його немає, він стоїть окремо).
На фото чиясь добра душа поруч з накопичувачем поставила для масштабу сірникову коробку. Зверху ставиться диск аж на два мегабайти, а ще два мегабайти у вбудованому диску, він з накопичувача не знімається. Як то кажуть, “жорсткий диск”. Після ввімкнення розкручується недовго, секунд 20, і далі готовий до роботи.
Послухайте, давайте порівняємо цей накопичувач з іншими. Ось на людській долоні звичайний, старенький, несправний накопичувач, його інформаційний об’єм в 1000 раз більший, і складає 2 Гігабайти.
А недавно я поставив в свій домашній комп’ютер такий самий за розміром накопичувач, але його інформаційний об’єм ще в 1000 раз більший, тобто 2 Терабайти.
А наш накопичувач, який не кожна людина підніме, мав ємність в мільйон раз меншу, від мав ті самі 2 мегабайти.
Один диск – це два мегабайти, але використовуватись і десятидискові накопичувачі, а це вже 20 мегабайт. Десять дисків, і двадцять зчитуючих головок, це добро називається ЕС5052. Змінні диски міняються відразу пакетом по 10 дисків, конструкція пакета так продумана, щоб навіть дуже неуважна людина не могла торкатись брудними чи чистими пальцями до дисків. Попаде бруд чи пилюка – зіпсуються магнітні головки.
Час від часу, раз на тиждень чи раз на два тижні, якась із головок все одно псується, це дає кілька днів паузи в роботі, доки прийде наладчик із чемоданчиком “ТИДУ”, і замінить головку, виставивши положення головки з допомогою “ТИДУ”.
Оперативна пам’ять об’ємом 64 кілобайти – це 8 важких блоків по 8 кілобайт, кожен блок з окремим живленням. Пам’ять досить швидка, для операцій зчитування чи запису потрібно лише 3 мікросекунди. Якби зчитування йшло по синхронній інформаційній шині, можна було б сказати, що тактова частота такої шини – приблизно 300 кілогерц.
Для неуважних нагадую: не мегагерц, а кілогерц. Кілогерц – це в тисячу раз повільніше, ніж мегагерц.
Пам’ять ми називаємо магнітною, і вона справді магнітна. В кожному блоці на 8 кілобайт знаходиться 64 тисячі мініатюрних ферритових кілець, кожне кільце запам’ятовує 1 біт інформації. При зчитуванні інформації з такої пам’яті зчитувана інформація руйнується, тому вона відразу додатковим “внутрішнім” тактом записується знову, на ту саму адресу.
Бачу, що не вражає.
Через кожне мініатюрне ферритове кільце проходять три тонесенькі дротики, вертикальний, горизонтальний і діагональний, кожне ферриове кільце “висить” на сітці із цих дротиків.
Бачу, що не вражає.
Кожен дротик вставлений в кожне кільце людськими руками.
Тепер, бачу, вражає.
Магнітна пам’ять мучить нас, вона дуже ненадійна. Так виходить, що в деякі біти пам’яті при роботі записуються лише “нулі”, операційна система не вміє рівномірно розподіляти “нулі” і “одиниці” по оперативній пам’яті. Петля гістерезиса не ідеально прямокутна на кожному ферритовому кільці, і після багатьох мільйонів записів і зчитувань “нулів” із “невезучих” бітів пам’яті ці біти починають працювати неправильно, моментально спрацьовує контроль парності, і машина зупиняється. Наладчики стогнуть і проклинають магнітну пам’ять.
Вихід знайшли. Зробили простеньку ОЗУ-резидентну програму з найвищим пріоритетом,, яка регулярно сама запускається і “кусочок за кусочком” освіжає оперативну пам’ять, запам’ятовує, що було в невеличкій області пам’яті, далі записує в цю пам’ять “одиниці”, потім “нулі”, потім повертає на місце інформацію, яка була, і так регулярно “сканує” всю пам’ять. Неймовірно ! Пам’ять перестає давати збої, вона працює без проблем місяцями, одурілі від радості наладчики не знають, що є причиною такого чуда, бо ми їм не сказали.
“Наладчики” – це приблизно те саме, що сучасний “сисадмін”, який нічого не розуміє в програмах, а займається лише апаратним обслуговуванням комп’ютерів. Зараз може бути один сисадмін на десятки комп’ютерів, а тоді була бригада наладчиків на кілька “машин”.
Так ми вчились вирішувати апаратні проблеми програмними засобами. Бережіть цю звичку і користуйтесь нею, коли є така можливість.
Як зберегти свою програму, щоб її не витерли з загального диска, коли величезних 2 мегабайт буде вже замало ? Невеличку програму можна вивести на паперову перфострічку, але для великих програм тої паперової перфострічки не напасешся. Можна “дістати” (це Радянський Союз, про “купити” розмова не йде) бобіну з магнітною стрічкою, на такій бобіні влізає до 5 мегабайт інформації. Є і збільшені бобіни, аж по 20 мегабайт, для них потрібні особливо здоровенні зчитувачі, один зчитувач – одна шафа. Зчитувач з магнітної стрічки в багатьох комплексах присутній, і дуже корисний.
В машині, про яку я розказую, обробляється відразу кілька задач. В цій могутній оперативній пам’яті, аж на 64 кілобайти, не можуть розміститись відразу кілька задач, тому нескінченно працює свопінг.
Свопінг. В робочий простір оперативної пам’яті завантажується по черзі кожна задача, і виконується секунду-другу, потім замінюється на іншу. Якщо задача мусить бути більшою, ніж 64 кілобайти, програміст розбиває задачу на оверлеї, кожен оверлей по черзі загружається в пам’ять і виконується. Операційна система ще називається ДОС РВ, але вже чесно говорять, що це звичайна, ніким не адаптована і не русифікована американська RTE-1 від відомої фірми “Hewlett-Packard“. Пізніше ми навіть дістали в Ленінграді на НПО “Дальняя связь” і встановили собі покращену операційну систему RTE-2. Більше ніяких “самостійних” розробок, все скопійоване. Один із співробітників нашої кафедри, його звали Толя, на власному ентузіазмі зробив багато корисного, щоб цей обчислювальний комплекс використовувався на кафедрі досить ефективно. Потім Толя перейшов на роботу в Київенерго. Якось в одну із субот Толя прибігає до нас на кафедру і розказує, що в Київенерго в минулу ніч автоматика показала, що відключилась Чорнобильська атомна електростанція. Це могло означати, що на станції щось дуже серйозно зламалось. Ми не повірили і не надали цій події ніякої уваги, а даремно. Історія показала, що на Чорнобильській станції в ніч з п’ятниці на суботу в квітні 1986 року справді дещо дуже недобре зламалось.
На багатозадачній операційній системі, яку нам з великими зусиллями встановив Толя, можна було програмувати або на звичному “Фортрані”, або на страшному “Асемблері”. Студенти не знають “Асемблер”, навіть вивчаючи його цілий семестр. Потім дістали і встановили компілятор, щоб програмувати ще й на мові “SPL (system program language)”. Що це таке ? Це, якщо дивитись здалеку, і одним оком, трохи нагадує сучасну популярну мову програмування “C”. Я вже не студент, я вчусь в аспірантурі в КПІ, і викладаю студентам той самий Асемблер.
А техніка йде вперед. Недосконалі АСВТ М-6000, М-7000 вже старіють і замінюються на сімейство СМ ЭВМ, це погіршена копія американських PDP фірми DEC. Операційна система RSX-11 від тої самої DEC, можна також використовувати їхню RT-11. Незважаючи на засилля RSX-11, операційна система RT-11, об’єктивно, краща. Нам встановлюють СМ-4 з об’ємом пам’яті 256 кілобайт (та ні, кілобайт, кілобайт, а не мегабайт), а до неї кілька десятків терміналів. Та що там терміналів ! Дисплеїв ! Ми вже звикаємо до слова “дисплей”. Надійний послідовний інтерфейс ИРПС до дисплея не псується навіть від тисячократного наступання на кабель студентськими ногами, ми дивуємось з такої надійності. “Фортран” відсунутий подалі, вже можна програмувати на “Паскалі”, і навіть на “C”. Ну, і на “Бейсіку”, який існує лише для того, щоб студенти ставали ще більш лінивими і тупими.
Техніка йде вперед, але нам здається, що техніка, йдучи вперед, потихеньку вмирає. Це тому, що з/являються справжні “персоналки” на основі PC XT, і така персоналка вже по-модному називається “комп’ютер”. Ми швидко переконуємось, що “комп’ютери” куди кращі і практичніші, ніж “машини”. Переваги очевидні:
– більш зручний текстовий редактор, до того ж цих редакторів є кілька варіантів.
– мови “Паскаль” і “С” беруть в полон своєю універсальністю і зручністю.
– не треба вірити, що твоя програма не пропаде десь на колективному диску, все своє можна записати на дискету, а дискету іноді навіть можна покласти в кишеню. Дискета на 7.5 дюймів ще не влізає в кишеню, але дискета на 5.25 дюймів розміщується в кишені, хоча і мнеться, Інформаційний об’єм такої дискети – від 360 кілобайт, і аж до 800 кілобайт, а для тих, кому пощастило, навіть 1.2 Мегабайт. А вже дискети на 3.5 дюйми навіть не згинаються в кишені, просто красота, і об’єм аж 1.44 Мегабайт (не 144, а 1.44). Швидкість запису ? Ну, вся дискета записується за кілька хвилин.
– тепер про головне. Зовсім не обов’язково щось програмувати, замість програмування можна набирати текст, а потім роздруковувати цей самий будь-який текст, це вже не текст програми, а просто текст, а до тексту можна додавати графічні зображення. А ТАКОЖ Є ІГРИ !!!
– саме головне. Невже існує щось надзвичайно важливе, яке дуже відрізнялось в нових “персоналках” від всіх до того існуючих обчислювальних комплексів ?
Так, ця принципова різниця є, і добре, що ви будете про неї знати. Я не буду “тягти кота за хвіст”, ви зараз дізнаєтесь.
Увага ! Нові “персоналки” починали працювати відразу після ввімкнення живлення.
Спокійно, ви не перегрілись, і не запрацювались. Ви прочитали саме те, що написано.. Всі обчислювальні комплекси, які вже багато років виготовлялись і використовувались, нічого не робили при ввімкненні живлення.. Вони стояли, як вкопані, чекаючи, доки їм спеціальними клавішами введуть стартову адресу в адресний регістр і натиснуть на “Пуск”.
Як не дивно, але конструктори не здогадувались, що можна стартову адресу “зашити” назавжди в конструкцію обчислювальної машини, і при подачі живлення обчислювальний процес буде стартувати з цієї адреси.
Ви не вірите ? Доведеться повірити, бо цього “автозапуску” не було.
Біля обчислювального комплексу лежить папірець із стартовою адресою, щоб ніхто з персоналу не забув, а можна навіть цю адресу надряпати на стійці з обчислювальним комплексом. Вмикається живлення, потім в регістр адреси команд заноситься відповідними кнопками стартова адреса, тепер можна натиснути на “пуск”, і починає працювати….Що починає працювати ?
Починає працювати загрузчик, якщо він випадково не зіпсувався. Це малесенька частина магнітної пам’яті, в якій занесена коротесенька програмка, яка почне загружати операційну систему з якогось носія, передбаченого “за замовчуванням”. Наприклад, з перфострічки.
З перфострічки ми занесемо більш складну програму, яка вже почне загружати справжню операційну систему з диска. З того самого диска, який має об’єм аж 2 Мегабайти, а в більш серйозних комплексах аж 20 Мегабайт. Інших носіїв інформації у нас ще немає, і магнітні дискети – колосальна новинка.
Зробимо паузу. Ми не стомились, просто я хочу згадати добрим словом трьохдюймовки, дискети діаметром 3.5 дюйма, і ємністю на 1.44 МБайт.
Власне, ось вони.
Якщо хтось не знає, то я розкажу, яке чудове це технічне рішення.
Не треба думати, що фраза “записати на флешку” існувала завжди.
Попробуйте уявили, що немає CD-дисків, на які можна щось записати, а DVD-дисків, до речі, немає взагалі. Якщо хочеш зберегти цінний текст або програму, існує лише два варіанти.
Варіант 1. Десь дістав (украв з якоїсь організації) бобіну з магнітною стрічкою, на неї можна записати і десь зберігати кілька мегабайт корисної інформації. На магнітній стрічці можна переписувати чи змінювати лише останній файл, бо після останнього файлу, який записувався, все, що було далі на стрічці, затирається. Дуже незручно, але для архіву і так годиться.
Варіант 2. Тримай свої записи, свої програми на паперовій перфострічці. Незручно, і об’єм дуже маленький.
Є ще третій варіант, також поганий. Тримай своє програмне добро “на роботі” в якому-небудь “обчислювальному центрі”, ризикуючи, що хтось використає твою бобіну з магнітною стрічкою чи навіть “твій диск” так, як йому треба.
І тут неймовірний технічний прогрес ! Дискети на 7.5 дюймів ! Аж 180 кілобайт інформації на дискеті ! Дискети непристойно ненадійні, кожен файл дублюєш на двох-трьох дискетах, і дуже радий, що можна хоча б так. Головка для запису і зчитування не треться нескінченно по поверхні дискети, вона знаходиться на відстані кількох міліметрів, вона падає на дискету перед записом чи зчитуванням і підіймається після виконаної дії. Це технічне рішення виявилось дуже неудачним, у всіх інших дискетах головка не підіймається з поверхні дискети в процесі роботи.
Прогрес йде вперед ! Дискети на 5.25 дюймів ! 360 кілобайт інформації ! Надійність значно вища, незручність ще значна. На деяких дисководах можна писати аж 720 кілобайт, хоча не всюди потім прочитаєш. Із зміненим драйвером можна дотиснути аж до 800 кілобайт, не всюди запишеш, і не всюди прочитаєш. А десь існують п’ятидюймовки аж на 1.2 Мегабайти, ще й дисководи, які вміють їх читати. Ці дискети – дефіцит.
Прогрес йде по-справжньому ! Дискети на 3.5 дюйма, ємність 1.44 Мегабайт. Це вже серйозно. Надійність справді висока, і в кишені таку дискету не зіпсуєш., дискета міцненька, а розміри приблизно 8×8 см. На цій дискеті прогрес застряв надовго. Дискета справді була хороша, досить надійна і зручна в користуванні.
Добре, але прогрес безжалісно йде вперед. Хочеш, щоб було багато інформації, і щоб швидко писати і читати ? Вже можна використовувати диски CD-R, CD-RW, DVD-R, і навіть DVD-RW. Можна, але незручно.
Можеш використовувати ZIP-закопичувачі, там аж 100 Мегабайт ємності, а от незручно, повільно і ненадійно. ZIP-накопичувачі дуже непопулярні.
Що робити ? Потрібно більше пам’яті, щоб обмінюватись файлами, а її немає. Трьохдюймова дискета вже не витримує потрібного навантаження, вона занадто повільна, і інформаційний об’єм вже малий. Дехто вже, замість того, щоб покласти в кишеню дискету або кілька дискет, пробує запихнути в кишеню “вінт”. Місця в кишені все-таки мало, але коли носиш з собою “вінт” і кабель до нього, швидкість перенесення інформації неймовірно зростає, інформаційний об’єм також. Прийшов, наприклад, до товариша, щоб переписати у нього корисний програмний пакет, швидко зняли кришку з комп’ютера товариша, підключили “вінт”, переписали, відключили “вінт” і поставили кришку на місце. Красота !
“Вінт” – це жаргонне скорочення від слова “вінчестер” (winchester). Саме це було звичною назвою для накопичувача на жорстких дисках (HDD, hard-drive).
Чому була назва “вінчестер” ? Її придумали не ми, справа в тому, що ще в 1973 році фірма IBM випустила твердий диск моделі 3340 для використання з ЕОМ IBM System/370. Під час його розробки інженери використали коротку внутрішню назву «30-30». Кеннет Хотон (Kenneth E. Haughton), керівник проекту, через співзвучність назви з позначенням набою .30-30 Winchester популярної мисливської рушниці Winchester Model 1894, запропонував назвати цей тип диска «вінчестером», звідки ймовірно і походить ця назва.
Лише з частом зникла звичка називати жорсткий диск “вінчестером”, і лише Flash-пам’ять відірвала користувачів від дискети на 3.5 дюйма і заставила назавжди здати цю дискету в архів.
Це ми забігли наперед. А поки що персоналки дуже дорогі, а фінансування все гірше. Здавши “на золото” якусь майже не працюючу стару “машину”, можна купити пару найдешевших “персоналок”, Серед найдешевших і найгірших – нещасний “Нейрон”, він випускається в Києві, але варіантів “персоналок” з кожним роком стає все більше. Популярна операційна система MS DOS справді універсальна, незалежно від того, яку вдалось купити “персоналку”. А оперативної пам’яті в “персоналці” так багато, що нам не віриться, навіщо в одному комп’ютері так багато пам’яті.
Операційну систему MS-DOS не треба “встановлювати”, як майбутній Windows. Лише записав на дискету кілька “стартових” файликів, і дискета вже “загрузочна” і “системна”. Про “інсталяцію” будь-яких програм розмова не йде, переписав файл з програмою на свою дискету – і запускай.
Оперативної пам’яті аж 640 кілобайт !!! (нагадую: кілобайт). В деяких персоналках трохи менше, 512 кілобайт або 256 кілобайт, але в деяких – цілий мегабайт оперативної пам’яті, а це 1024 кілобайт. І тактова частота аж 16 мегагерц (ні-ні, мегагерц, а не гігагерц).
Найбільші везунчики вже можуть ігнорувати більш повільні комп’ютери з сімейства PC XT, вони користуються модними PC AT.
Ходять чутки, що на тих PC AT можна навіть ставити якусь іншу операційну систему, не MS DOS.
Кажуть, що ця нова система називається Windows, але щоб користуватись нею, потрібен новий модний маніпулятор, який називається “мишка”. Ми й не знали, що нова операційна система і новий маніпулятор завоюють весь комп’ютерний світ. Ну, майже весь.
Непомітно зникла звичка “адаптувати” технічні назви в обчислювальній техніці, щоб виглядало “по-російськи”. Виникає звичка по-простому використовувати англійські назви, а потім до них привикати. Якось я зробив в інститутській навчальній методичці машинальну помилку, замість “реентерабельная программа” написав “реентабельная программа”. Через кілька років зустрів свою помилку в одній із книг по програмуванню, ким написана книга, я не пам’ятаю.
А тепер ви тупо використовуєте слово “гаджет”, “плагін” і ще сотні термінів, і не пробуєте якось перекладати ці назви на рідну мову. А цю погану звичку заклали ми ! Тепер маємо те, що маємо.
Нічого не маємо свого ! НІЧОГО !
Колись ми вивчали, а потім я розказував студентам, про історію різних алгоритмічних мов, про різні підходи до програмування, різні принципи програмування, а мені гірко, що ми не вивчали, наприклад, посильний вклад в програмування нашої свіввітчизниці, Катерини Логвинівни Ющенко, автора першої у світі адресної мови програмування високого рівня. Адресний підхід до програмування не прижився, але наука пам’ятає і удачні рішення, і неудачні.
Це лише ми не пам’ятаємо.
А Катерина Ющенко – доктор фізико-математичних наук, член-кореспондент АН УРСР, заслужений діяч науки, лауреат премій Ради Міністрів СРСР, дійсний член Міжнародної академії комп’ютерних наук, двічі — Державної премії України, премії імені В. М. Глушкова. Нагороджена орденом княгині Ольги.
Створення адресної мови програмування — перше фундаментальне досягнення наукової школи теоретичного програмування. Випередивши створення перших мов програмування Фортран (1958), Кобол (1959) і Алгол (1960), адресна мова програмування підготувала появу не лише мов програмування з апаратом непрямої адресації, але й сімейство асемблерів.
Ось такий кусочок історії. Якщо хтось мені напише додаткові “технічні спогади” про те, як змінювалось програмування, я з радістю доповню статтю. Я не збирають копіювати чиїсь існуючі статті, і не хочу розказувати про якусь “офіційну історію” техніки.
Я написав лише свій особистий малесенький кусочок історії програмування і роботи з комп’ютерами. Я здогадуюсь, що найбільше вас вразили кілобайти. А ви не дивуйтесь, просто пам’ятайте, що все велике повинно починатись з маленького. Ви тепер звикли до мегабайтів, це в тисячу раз більше, ніж кілобайт, і до гігабайтів, це в тисячу раз більше, ніж мегабайт, в гігабайті аж 9 нулів. Може, колись нулів стане ще більше.
Терабайт (ТБ) – 12 нулів.
Петабайт (ПБ) – 15 нулів.
Ексабайт (ЕБ) – 18 нулів.
Зетабайт (ЗБ) – 21 нуль.
Йотабайт (ЙБ) – 24 нулі.
А ви не знали ? Тепер будете знати.