Кіріспе

1970 жылдардағы ғылыми-зерттеу жобасы. "Болашақ жүйелері" жобасы (FS) – 1970 жылдардың басында IBM компаниясында жүргізілген ғылыми-зерттеу және әзірлеу жобасы. Оның мақсаты – қазіргі заманғы қуатты аппараттық құралдарды пайдалану арқылы бағдарламалық жасақтаманы дамытуды жеңілдететін жаңа бағдарламалық модельдерді, соның ішінде компьютерлік өнімдердің революциялық желісін жасау болды.

Өмірбаян

1960 жылдардың соңына дейін IBM өзінің пайдасының көп бөлігін аппараттық құралдар есебінен көріп келді, қолдау бағдарламалық жасақтамалары мен қызметтерін жүйелерімен бірге ұсынып, оларды көбірек тарту үшін жасады. Баға белгісі тек аппараттық жабдыққа қойылды, бірақ бұл бағалар бағдарламалық қамтамасыз ету мен қызметтерге бөлінген қаражатты қамтыды. Басқа өндірушілер IBM-ге қарағанда едәуір арзанға үйлесімді аппараттық құралдарды, негізінен таспалық және дискілік жекпе-жектер сияқты сыртқы құрылғыларды сатуға кірісті, бұл бағдарламалық қамтамасыз ету мен қызметтерге жұмсалған шығынды қайтару мүмкіндігін азайтты. Бұл жағдай Гин Амдал IBM-ден кетіп, IBM ұсыныстарынан жылдамырақ және арзанырақ System/370 үйлесімді жүйелерді жасап шығаратын компания құрғанда күрт өзгерді. 1971 жылдың басында IBM-нің ішкі жұмыс тобы, Project Counterpoint, үйлесімді мейнфрейм бизнесінің өміршең екендігін және бағдарламалық қамтамасыз ету мен қызметтерге аппараттық құралдың бағасының құрамында төленетін ақының негізі тез жойылатынын анықтады. Тағы бір стратегиялық мәселе – есептеу құрылғыларының құны тұрақты түрде төмендеп, бағдарламалау мен операциялардың құны, яғни персоналдық шығындар, тұрақты түрде өсіп жатты. Сондықтан, алдағы жылдары клиенттердің ИТ-бюджетінде аппараттық құралдарға бөлінетін қаражат айтарлықтай азаяды, соның салдарынан IBM-нің кірісі де азаяды. IBM болашақ өнімдерінде қолданбаларды жасау және пайдалану шығындарын төмендету арқылы клиенттерге ИТ-нің жалпы құнын азайтып, сол шығынның үлкен бөлігін иеленуі керек болды. Сонымен қатар, IBM өзінің басымдығы мен аппараттық құралдың бағасына бағдарламалық қамтамасыз ету мен қызметтерді қосу саясаты үшін заңдық шабуылға ұшырады, сондықтан ұсыныстарының бір бөлігін қайта біріктіруге жасалған кез келген әрекет кез келген заңдық шағымға төтеп беру үшін таза техникалық негізде берік негізделуі тиіс болды.

Деректерге қол жеткізу

FS-тің бір жобалау принципі "бір деңгейлі сақтау" болды, бұл виртуалды жад (VM) идеясын тұрақты деректерді қамтуға кеңейтті. Дәстүрлі жобаларда бағдарламалар жадыны деректерді білдіретін мәндерді сақтауға бөледі. Бұл деректер әдетте машинаны сөндіргенде немесе пайдаланушы жүйеден шыққанда жоғалады. Бұл деректерді болашақта қолдану үшін оларды тұрақты сақтау үшін қосымша код қажет, мысалы, қатты дискіге жазу, содан кейін болашақта қайта оқу. Осы ортақ операцияларды жеңілдету үшін 1960 жылдары бірқатар деректер базасы қозғалтқыштары пайда болды, олар бағдарламаларға деректерді қозғалтқышқа беруге мүмкіндік берді, содан кейін оны сақтап, қажет болғанда қайтадан алуға мүмкіндік берді. Сол кезде пайда болған тағы бір технология – виртуалды жад. Алғашқы жүйелерде бағдарлама деректерді бөлу үшін қолданатын жадтың мөлшері жүйедегі негізгі жадтың мөлшерімен шектелген, ол бір машинадан екіншісіне жылжыған кезде немесе басқа бағдарламалар өз жадыларын бөліп отырғанда, мұндай факторларға байланысты өзгеруі мүмкін. Виртуалды жад жүйелері бұл мәселені шешіп, барлық бағдарламаларға қол жетімді жадтың ең жоғары мөлшерін, әдетте өте үлкен санды, машинадағы физикалық жадтан әлдеқайда көп деп анықтады. Егер бағдарлама физикалық түрде қол жетімді емес жадыны бөлуді сұраса, негізгі жадтың бөлігі дискіге жазылады және бұл орын жаңа бөлу үшін қолданылады. Егер бағдарлама осы шығарылған ("пажетталған" немесе "ажыратылған") жад аймағынан деректерді сұраса, ол қайтадан негізгі жадқа көрінбестен жүктеледі. Бір деңгейлі сақтау – виртуалды жадтың барлық жадқа, ішкі немесе сыртқы, кеңейтілуі. VM жүйелері жадыны дискіге көрінбестен жазады, бұл файл жүйесінің міндетімен бірдей, сондықтан оны файл жүйесі ретінде пайдалануға болады. Бағдарламалар "негізгі жадтан" жадыны бөлемейді, одан кейін VM оны басқа резервтік сақтауға жібереді, барлық жады VM жүйесімен бірден бөлінеді. Бұл деректерді сақтау мен жүктеудің қажеті жоқ дегенді білдіреді, жадыға бөлу ғана ВМ жүйесі оны жазып шығарған кезде осы әсерге ие болады. Пайдаланушы қайта кіргенде, сол деректер және оны орындаған бағдарламалар, олар да бір жадқа енгізілгендіктен, бірден бұрынғы күйінде қол жетімді болады. Жүктеу мен сақтаудың барлық тұжырымдамасы алынып тасталады, бағдарламалар мен бүкіл жүйелер тіпті машинаны қайта іске қосқаннан кейін де олар тұрған жерден алады. Бұл тұжырымдама Multics жүйесінде зерттелді, бірақ өте баяу болып шықты, бірақ бұл негізгі жадтың ядрода іске асырылған және қатты диск немесе барабан түрінде әлдеқайда баяу қосалқы сақтау орны бар қол жетімді аппараттың жанама әсері болды. Жаңа түрдегі ұшпалы емес жадтың, әсіресе бұршақ жадтың енгізілуімен, симуляция жоғары деңгейдегі машинада FS нұсқауларының орындалуы сол машинадағы System/370 эмуляторына қарағанда баяу екенін көрсетті. FS жобасы ақырында IBM клиенттердің қабылдауын бастапқыда болжағаннан әлдеқайда шектеулі болатынын түсінгенде тоқтатылды, өйткені 360 архитектурасы клиенттері үшін қолайлы қосымша көшіру жолы болмады. Нағыз революциялық жүйені жобалау үшін максималды еркіндікті қалдыру үшін, қолданбалардың көшіруін жеңілдету FS жобасының негізгі жобалау мақсаттарының бірі емес, бірақ жаңа архитектураны берілген ретінде қабылдайтын бағдарламалық көшіру құралдарымен қарастырылуы керек еді. Соңында, COBOL және ассемблерлік тілдегі қолданбаларға негізделген пайдаланушылардың инвестициясын FS-ке көшірудің құны көптеген жағдайларда жаңа жүйені сатып алудың құнынан жоғары болуы мүмкін екендігі анықталды.