Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Камтамасыздандыру.docx
Скачиваний:
43
Добавлен:
26.02.2016
Размер:
180.27 Кб
Скачать

1 Байтты сақтау құны

Сыртқы жады

Оперативті жады

(DRAM негізінде)

Жылдам жұмыс істейтін жады (SRAM негізінде)

Процессор регистерлері

Көлем

Қатынасу уақыты

Ондаған гигабайт

Ондаған мегабайт

Ондаған-жүздеген килобайт

Ондаған байт

-2-3 нс

-5-8 нс

-10-20 нс

Ондаған мс

Сурет 10. Есте сақтау құрылғыларының иерархиясы

Осыған орай жады неғұрлым үлкен болса, онда оның жұмыс істеу жыдамдығы соғұрлым төмен болатын өкінішті заңдылықты қорытып шығарғанымыз жөн. Сонымен қатар жұмыс істеу жылдамдығы өскен сайын, бір байтты өлшеммен алғандағы деректерді сақтау құны да арта түседі

Тақырып 9. Тапсырманы құру және отладка құралы

Мақсаты: Тапсырманы құру және  отладка құралының тәсілдері мен ерекшеліктерін қарастыру

Кілттік сөздер: трансляция, трансляторлар, интерпретатор, компилятор, машиналық код, машиналық команда, модуль, нұскау, хабарлар, символ, деңгей, бағдарламалық тілдер

Дәріс жоспары (1 сағат)

  1.  Тапсырмаларды жүктеу, трансляция, компоновка.

  2.  Бағдарламалау тілдері мен орталары.

  3.  Екілік, объектілік және орындалу файлдарының пішімдері.

  4.  ELF стандарты және a.out және COFF форматтары.

  5.  Жүктеушіні қолдану. Бапталатын жүктеуші алгоритмі.

    Паскаль тілінде жазылған бағдарлама компьютерге түсініксіз болғандықтан, оны машина тіліне аудару керек болады. Бағдарламалау тілінен машина кодтарына аудару үрдісі трансляция (translation – аудару) деп аталады, ал аудару арнайы трансляторлар деп аталатын бағдарламалар арқылы орындалады.Трансляторлар екі түрі:

  1.  интерпретаторлар,

  2.  компиляторлар

Интерпретатор деп берілген бағдарламаның әр операторын өңдеп, орындайтын трансляторды атайды. Интерпретатормен жұмыс істеу кезінде процессор оның прогрпммалау тілдерінен аударған кезекті әр операторын бірден орындайды. Компилятор алдымен бағдарламаның синтаксисін  тексеріп,бағдарламада жіберілген синтаксистік қателерді хабарлайды.Олар жөнделген соң жүктеуші деп аталатын бағдарламасын іске қосады, ол алдымен бағдарламаны машиналық тілге жуық обьектілік бағдарлама деп аталатын аралық бағдарламаға түрлендіріп шығады. Одан әрі байланыстар редакторы деп аталатын бағдарлама іске қосылып,ол обьектілік бағдарламаға бағдарламалау тілі ішінде арнайы дайындалған кітапханалық процедуралардан қажетті стандартты процедуралар мен функцияларды қосады. Осыдан кейін бағдарлама дайын болады да,ол бірден орындалады.Үлкен ЭЕМ дер компилятормен жабдықталған, ІВМ РС ге үйлесімді дербес компьютердің екеуімен де жұмыс істеу мүмкіндіктері бар.

      Компилятор (compiler; compiling programm — компиляциялаушы бағдарлама) —

1) жоғарғы деңгейлі бағдарламалау тілінде жазылған алғашқы бағдарламаны машиналық тілге (алгоритмдік тілдер, түсіндіргіш, аударғыш) түрлендіруді орындайтын компьютердің жалпы математикалық жасақтамасының құрамды бөлігі. Компилятор екі бөліктен түрады: бірінші бөлігі — бағдарламалаушының бағдарламаны жазуы үшін пайдаланылатын алғашқы тіл, екіншісі —  Объектілік бағдарламаны машиналық тілде жазатын аударғыш. Қандай да бір жоғары деңгейлі тіл үшін к. Жоқ болған жағдайда пайдаланылатын тілдің командаларын нақты компьютер үшін аударатын және олардың орындалуын жасақтайтын түсіңдіргіш даярланады;

2) жоғарғы деңгейлі тілде „жазылған бағдарламаны машиналық кодқа түрлендіруші аударғыш. Бұл сөз "compile" етістігінен құрылған, ”құрастыру” деген мағына береді. Бұл етістіктің компьютерлік мағынасы «машиналық кодқа аудару, ал жалпы тілдік мағынасы — "материал жинау, есеп-қисап, анықтама даярлау";

3) барлық бағдарламаларды олардың орындалуынсыз машиналық командаға аударатын аударғыш. Компилятордың жұмыс істеуінің нөтижесінде орындалуға дайын емес жеке модульдер даярланады. Бағдарламаның орындалуы үшін бірнеше объектілік модулдер катынасатын жүктемелік (орындалатын) модуль қүру қажет;

4) бағдарламалық модулдерді құрастыруды орындайтын бағдарлама-аударғыш. Компилятордың түсіндіргіштен айырмашылығы — жоғарғы деңгейлі бағдарламалау тіліндегі бағдарламаны машиналық тілдегі бағдарламаға немесе машиналық тілге жуық бағдарламаға түрлендіреді, бірақ оның орындалуына қатыспайды. Компилятордың кірісіне түскен алғашқы модуль компиляциядан кейін объектілік модулге түрленеді. Компилятор бағдарламалау жүйесінің ажырамас бөлігі.

Компилятордың түрлері:

  1.  алғашқы бағдарламаның әрбір жеке операторын тізбектік тәуелсіз құрастыруды жүзеге асыратын түсініктеме беруші компилятор;

  2.  объектілік бағдарламаның тиімділігін арттыратын оңтайландырушы компилятор; мысалы, циклдар қайталанған кезде әрекеттің нәтижесі өзгермейтін командаларды циклдан шығару;

  3.  пайдаланушыға бағдарламаны жөндеуді жеңілдететін жөндеуіш компилятор

Сурет 1. Транслятор

Бағдарламалау тілдері мен орталары:

  Бағдарламалау тілі (орыс. язык программирования; гр. programme - нұскау, хабарлау) — хабарларды есептеуіш машиналардың көмегімен сұрыптайтын жасанды тілдер тобы. Бағдарламалық тілдерде символдарды бірізділікпен өңдеуге қажет мәтіндер алдың ала жазылып кояды, мәтіндерді бұйрықты тапсырма деп қарауға болады. Семантикалық шарттары бойынша мәтіндер мынадай деңгейлерде сұрыпталады: дербес мағынасы жоқ әліпби таңбалары; шағын тіл бірліктерінің екі жақты атаулары; мағынасы бұйрык түрінде емес атаулардың қосындысың білдіретін сөйлемшелер; белгілі әрекетті білдіретін (бұйрық мағынасында) синтаксистік құрылымдардан тұратын операторлар тағы басқа.

  Бағдарламалық тілдердің өзіне тәң сипаты —символдық, сөздік, сөйлемдік, мәтіндік деңгейлердің аражігі белгісіздігінде мәтіндерді жазып, ЭЕМ-ге енгізуде ондағы жетімсіздік баска символдармен толықтырылады. Мысалы, (СОТО сөйлемшесі бір символ, бір сөз немесе бір сөйлем болып есептелуі мүмкін. Бағдарламалық тілдер қолданылу тұрғысынан екіге бөлінеді:

 алгоритмдік әр түрлі типтерді алдын ала жазуға болатын универсалдык бағдарламалық тілдер және неғұрлым шағын мақсатты жүмыстарға (модель жасау, мәтінді автомат өңдеу, белгілі бір процесті басқару) арналған мамандандырылған бағдарламалық тілдер. Бұлардын ішінде ЭЕМ-мен пайдаланушының қарым-қатынасын дамытуда диалогтік бағдарламалық тілдер манызды орын алады. Бағдарламалық тілдердің дамуы олардың деңгейін көтеру, адам мен машинаның қарым-қатынас үрдісін женілдету, бағдарламалардың тиімділігін арттыру арқылы іске асырылып отырады. 20 ғасыр 70 жылдары бағдарламалық тілдердің жалпы саны 1 мыңға жақындады. Ен жиі қолданылатын, деңгейі жоғары тілдік бағдарламалар: фортран, кобол, ПЛ/1, алгол, бейсик, паскаль, мектепте кеңтараған — лого тілі. 

  

БАҒДАРЛАМАЛАУ ТІЛІ, бағдарламалау тілі — мәліметті (деректі, ақпаратты) және олардың алгоритмін (бағдарламасын) ЭЕМ-де өңдеуге арналған формальды (жасанды) тіл. Бағдармалау тілінің негізін алгоритмдік тіл құрайды. Алғашқы Бағдармалау тілі ішкі машиналық тіл болып есептеледі. Қазіргі Бағдармалау тілі машиналық-бағдарланған, процедуралық-бағдарланған және проблемалық-бағдарланған тілдер болып ажыратылады. Машиналық-бағдарланған Бағдармалау тілі өзінің мәліметте-рінің түрі мен алгоритмінің құрылуы бойынша белгілі бір ЭЕМ-нің (не ЭЕМ класының) құрылымын бейнелейді. Мұның үстіне оның бағдарламалау үрдісін жеңілдету және

автоматтандыру сияқты ерекшеліктері бар. Ол машиналық тілге жақын тіл. Машиналық-бағдарланған бағдармалау тіліне автокод, алмо, эпсилон, т.б. тілдер жатады.

ELF - standard

 Оффшорлық кәсiпорындар үшiн үйреншiктi саудалық есепке алу бағдарламасы.

Сурет 2. ELF – standardтының терезесі

a.out және COFF форматтары

  Coff— мұрагер қалып.(Common Object File Format ) COFF қалып айтарлықтай болады қалыптың жетiлдiрiлген және аяқтап iстелген болжамын a.out. Ол UNIX-тiң әлемiнде жайылған, сол сияқты Windows NT мысалы, өңдеулер (коммерциялық емес) еркiн орталармен, DJGPP.Қосымшалардың өңдеуi үшiн қолданылады және С және С/Н пен.

  Егер компиляторлар шақыру параметрi барса f - болса онда СOFFтың қалыбында объектiнiң файлы шығуын аламыз.