Компьютерде бағдарламаны іске қосу – нұсқауларды түсініп, орындау процесі. Fetch-decode-execute циклі, бағдарлама семантикасы, интерпретаторлар талқыланады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік бағдарламаны іске қосу
Running of a program by a computer
Компьютерлік және бағдарламалық жасақтама инженериясында іске қосу – компьютердің немесе виртуалды машинаның компьютерлік бағдарламаның нұсқауларын түсіндіріп, орындауы процесі. Бағдарламаның әрбір нұсқауы белгілі бір мәселені шешу үшін орындалуға тиіс нақты әрекеттің сипаттамасы болып табылады. Іске қосу басқару блогы орындаған әрбір нұсқау үшін "алып-декодтау-орындау" циклын қайталап орындауды қамтиды. Іске қосылатын машина нұсқауларды орындағанда, осы нұсқаулардың семантикасына сәйкес нақты эффекттер пайда болады. Компьютерлік бағдарламалар адамның араласуынсыз пакеттік режимде орындалуы мүмкін, немесе пайдаланушы интерпретатордың интерактивті сессиясында командаларды енгізе алады. Бұл жағдайда "командалар" – бағдарламалық нұсқаулар, олардың орындалуы тізбектеледі. "Іске қосу" термині дерлік синоним ретінде қолданылады. "Іске қосу" және "орындау" сөздерінің ұқсас мағынасы – пайдаланушының бағдарламаны бастауы (немесе іске қосуы немесе шақыруы) сияқты нақты әрекетке қатысты, мысалы, "Қолданбаны іске қосыңыз".
Execution in computer and software engineering is the process by which a computer or virtual machine interpret and acts on the instructions of a computer program. Each instruction of a program is a description of a particular action which must be carried out, in order for a specific problem to be solved. Execution involves repeatedly following a "fetch–decode–execute" cycle for each instruction done by control unit. As the executing machine follows the instructions, specific effects are produced in accordance with the semantics of those instructions. Programs for a computer may be executed in a batch process without human interaction or a user may type commands in an interactive session of an interpreter. In this case, the "commands" are simply program instructions, whose execution is chained together. The term run is used almost synonymously. A related meaning of both "to run" and "to execute" refers to the specific action of a user starting (or launching or invoking) a program, as in "Please run the application."
Орындау контексі
Орындалу ортасы маңызды рөл атқарады. Бағдарламалардың өте азы ғана тікелей машинада орындалады. Бағдарламалар әдетте орындалу кезінде қол жетімді ресурстар туралы ашық және жасырын болжамдарға ие болады. Көптеген бағдарламалар көп тапсырмалы операциялық жүйеде және бастапқы тілге тән уақыт кітапханалары арқылы орындалады, бұл кітапханалар компьютердің өзі тікелей ұсынбайтын қажетті қызметтерді қамтамасыз етеді. Мысалы, мұндай қолдау ортасы бағдарламаны компьютердің сыртқы құрылғыларын тікелей басқарудан ажыратып, олардың орнына көбірек жалпылама және абстрактілі қызметтер ұсынады.
The context in which execution takes place is crucial. Very few programs execute on a bare machine. Programs usually contain implicit and explicit assumptions about resources available at the time of execution. Most programs execute within multitasking operating system and run time libraries specific to the source language that provide crucial services not supplied directly by the computer itself. This supportive environment, for instance, usually decouples a program from direct manipulation of the computer peripherals, providing more general, abstract services instead.
Контекстті ауыстыру
Бағдарламалар мен үзіліс басқарушылары кедергісіз жұмыс істеуі және бір CPU/MCU бар цифрлық жүйеде жұмыс істейтін көп тапсырмалы операциялық жүйелерде аппараттық жадты бөлісіп, I/O жүйесіне қол жеткізуі үшін, іске қосылып жатқан процестердің деректерін (жад бетінің мекенжайларын, тіркегіштерді және т.б.) қадағалауға және оларды тоқтатқанға дейінгі күйіне сақтап, қайта қалпына келтіруге қажет бағдарламалық және аппараттық құралдар болуы керек. Бұл контексттік ауыстыру арқылы іске асырылады. Іске қосылып жатқан бағдарламаларға көбінесе Процесс контексті идентификаторы (PCID) тағайындалады. Linux негізіндегі операциялық жүйелерде, тіркегіштерде сақталған деректер жиынтығы әдетте жадтағы процесс сипаттамасында сақталады.
In order for programs and interrupt handlers to work without interference and share the same hardware memory and access to the I/O system, in a multitasking operating systems running on a digital system with a single CPU/MCU it is required to have some sort of software and hardware facilities to keep track of an executing processes data (memory page addresses, registers etc.) and to save and recover them back to the state they were in before they were suspended. This is achieved by a context switching. The running programs are often assigned a Process Context IDentifiers (PCID). In Linux based operating systems, a set of data stored in registers is usually saved into a process descriptor in memory to implement switching of context.
Аудармашы
Бағдарламаны орындайтын жүйе сол бағдарламаның интерпретаторы деп аталады. Шартты түрде айтқанда, интерпретатор бағдарламаны тікелей орындайды. Бұл, бағдарламаны орындау алдында бір тілден екінші тілге аударатын аудармашыдан өзгеше.
A system that executes a program is called an interpreter of the program. Loosely speaking, an interpreter directly executes a program. This contrasts with a language translator that converts a program from one language to another before it is executed.